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 ---