segmentation.py (5292:a26311673ef0) | segmentation.py (5294:7222bdaed33b) |
---|---|
1# Copyright (c) 2007 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# Redistribution and use of this software in source and binary forms, 5# with or without modification, are permitted provided that the 6# following conditions are met: 7# 8# The software must be used only for Non-Commercial Use which means any --- 48 unchanged lines hidden (view full) --- 57def macroop LGDT_M 58{ 59 .adjust_env oszForPseudoDesc 60 61 # Get the limit 62 ld t1, seg, sib, disp, dataSize=2 63 # Get the base 64 ld t2, seg, sib, 'adjustedDisp + 2' | 1# Copyright (c) 2007 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# Redistribution and use of this software in source and binary forms, 5# with or without modification, are permitted provided that the 6# following conditions are met: 7# 8# The software must be used only for Non-Commercial Use which means any --- 48 unchanged lines hidden (view full) --- 57def macroop LGDT_M 58{ 59 .adjust_env oszForPseudoDesc 60 61 # Get the limit 62 ld t1, seg, sib, disp, dataSize=2 63 # Get the base 64 ld t2, seg, sib, 'adjustedDisp + 2' |
65 wrbase gdtr, t2 66 wrlimit gdtr, t1 | 65 wrbase tsg, t2 66 wrlimit tsg, t1 |
67}; 68 69def macroop LGDT_P 70{ 71 .adjust_env oszForPseudoDesc 72 73 rdip t7 74 # Get the limit 75 ld t1, seg, riprel, disp, dataSize=2 76 # Get the base 77 ld t2, seg, riprel, 'adjustedDisp + 2' | 67}; 68 69def macroop LGDT_P 70{ 71 .adjust_env oszForPseudoDesc 72 73 rdip t7 74 # Get the limit 75 ld t1, seg, riprel, disp, dataSize=2 76 # Get the base 77 ld t2, seg, riprel, 'adjustedDisp + 2' |
78 wrbase gdtr, t2 79 wrlimit gdtr, t1 | 78 wrbase tsg, t2 79 wrlimit tsg, t1 |
80}; 81 82# 83# These versions are for when the original data size was 16 bits. The base is 84# still 32 bits, but the top byte is zeroed before being used. 85# 86 87def macroop LGDT_16_M 88{ 89 .adjust_env oszForPseudoDesc 90 91 # Get the limit 92 ld t1, seg, sib, disp, dataSize=2 93 # Get the base 94 ld t2, seg, sib, 'adjustedDisp + 2', dataSize=4 95 zexti t2, t2, 23 | 80}; 81 82# 83# These versions are for when the original data size was 16 bits. The base is 84# still 32 bits, but the top byte is zeroed before being used. 85# 86 87def macroop LGDT_16_M 88{ 89 .adjust_env oszForPseudoDesc 90 91 # Get the limit 92 ld t1, seg, sib, disp, dataSize=2 93 # Get the base 94 ld t2, seg, sib, 'adjustedDisp + 2', dataSize=4 95 zexti t2, t2, 23 |
96 wrbase gdtr, t2 97 wrlimit gdtr, t1 | 96 wrbase tsg, t2 97 wrlimit tsg, t1 |
98}; 99 100def macroop LGDT_16_P 101{ 102 .adjust_env oszForPseudoDesc 103 104 rdip t7 105 # Get the limit 106 ld t1, seg, riprel, disp, dataSize=2 107 # Get the base 108 ld t2, seg, riprel, 'adjustedDisp + 2', dataSize=4 109 zexti t2, t2, 23 | 98}; 99 100def macroop LGDT_16_P 101{ 102 .adjust_env oszForPseudoDesc 103 104 rdip t7 105 # Get the limit 106 ld t1, seg, riprel, disp, dataSize=2 107 # Get the base 108 ld t2, seg, riprel, 'adjustedDisp + 2', dataSize=4 109 zexti t2, t2, 23 |
110 wrbase gdtr, t2 111 wrlimit gdtr, t1 | 110 wrbase tsg, t2 111 wrlimit tsg, t1 |
112}; 113 114def macroop LIDT_M 115{ 116 .adjust_env oszForPseudoDesc 117 118 # Get the limit 119 ld t1, seg, sib, disp, dataSize=2 --- 51 unchanged lines hidden --- | 112}; 113 114def macroop LIDT_M 115{ 116 .adjust_env oszForPseudoDesc 117 118 # Get the limit 119 ld t1, seg, sib, disp, dataSize=2 --- 51 unchanged lines hidden --- |