Commit | Line | Data |
---|---|---|
9306ca4a | 1 | .intel_syntax noprefix |
a724f0f4 JB |
2 | .equiv byte, 1 |
3 | .equiv word, 2 | |
167c3097 | 4 | .equiv dword, 4 |
a724f0f4 JB |
5 | .equiv fword, 6 |
6 | .equiv qword, 8 | |
7 | .equiv tbyte, 10 | |
8 | .equiv oword, 16 | |
9 | .equiv xmmword, 16 | |
9306ca4a JB |
10 | .text |
11 | start: | |
167c3097 JB |
12 | |
13 | # operand sizes | |
14 | ||
9306ca4a JB |
15 | add al, [eax] |
16 | add al, byte ptr [eax] | |
17 | add ax, [eax] | |
18 | add ax, word ptr [eax] | |
19 | add eax, [eax] | |
20 | add eax, dword ptr [eax] | |
21 | add byte ptr [eax], 1 | |
22 | add dword ptr [eax], 1 | |
23 | add word ptr [eax], 1 | |
24 | addpd xmm0, [eax] | |
25 | addpd xmm0, xmmword ptr [eax] | |
26 | addps xmm0, [eax] | |
27 | addps xmm0, xmmword ptr [eax] | |
28 | addsd xmm0, [eax] | |
29 | addsd xmm0, qword ptr [eax] | |
30 | addss xmm0, [eax] | |
31 | addss xmm0, dword ptr [eax] | |
34b772a6 JB |
32 | bound ax, dword ptr [ecx] |
33 | bound eax, qword ptr [ecx] | |
9306ca4a JB |
34 | call word ptr [eax] |
35 | call dword ptr [eax] | |
36 | call fword ptr [eax] | |
37 | cmps [esi], byte ptr es:[edi] | |
38 | cmps dword ptr [esi], es:[edi] | |
39 | cmps word ptr [esi], word ptr es:[edi] | |
40 | cmpxchg8b qword ptr [eax] | |
41 | fadd dword ptr [eax] | |
42 | fadd qword ptr [eax] | |
43 | fbld [eax] | |
9ae09ff9 | 44 | fbld tbyte ptr [eax] |
9306ca4a | 45 | fbstp [eax] |
9ae09ff9 | 46 | fbstp tbyte ptr [eax] |
9306ca4a JB |
47 | fiadd dword ptr [eax] |
48 | fiadd word ptr [eax] | |
49 | fild dword ptr [eax] | |
50 | fild qword ptr [eax] | |
51 | fild word ptr [eax] | |
52 | fist dword ptr [eax] | |
53 | fist word ptr [eax] | |
54 | fistp dword ptr [eax] | |
55 | fistp qword ptr [eax] | |
56 | fistp word ptr [eax] | |
57 | fisttp dword ptr [eax] | |
58 | fisttp qword ptr [eax] | |
59 | fisttp word ptr [eax] | |
60 | fld dword ptr [eax] | |
61 | fld qword ptr [eax] | |
62 | fld tbyte ptr [eax] | |
63 | fldcw [eax] | |
9ae09ff9 | 64 | fldcw word ptr [eax] |
9306ca4a JB |
65 | fldenv [eax] |
66 | fldenvd [eax] | |
67 | fldenvw [eax] | |
68 | fst dword ptr [eax] | |
69 | fst qword ptr [eax] | |
70 | fstp dword ptr [eax] | |
71 | fstp qword ptr [eax] | |
72 | fstp tbyte ptr [eax] | |
73 | lds ax, [eax] | |
74 | lds eax, [eax] | |
75 | lds ax, dword ptr [eax] | |
76 | lds eax, fword ptr [eax] | |
77 | lea eax, [eax] | |
78 | lea eax, byte ptr [eax] | |
79 | lea eax, dword ptr [eax] | |
80 | lea eax, fword ptr [eax] | |
81 | lea eax, qword ptr [eax] | |
82 | lea eax, tbyte ptr [eax] | |
83 | lea eax, word ptr [eax] | |
84 | lea eax, xmmword ptr [eax] | |
85 | lgdt [eax] | |
86 | lgdtd [eax] | |
87 | lgdtw [eax] | |
88 | movs es:[edi], byte ptr [esi] | |
89 | movs dword ptr es:[edi], [esi] | |
90 | movs word ptr es:[edi], word ptr [esi] | |
91 | movsx eax, byte ptr [eax] | |
92 | movsx eax, word ptr [eax] | |
93 | paddb mm0, [eax] | |
94 | paddb mm0, qword ptr [eax] | |
95 | paddb xmm0, [eax] | |
96 | paddb xmm0, xmmword ptr [eax] | |
97 | pinsrw mm0, word ptr [eax], 3 | |
98 | pinsrw xmm0, word ptr [eax], 7 | |
99 | push dword ptr [eax] | |
100 | xlat [ebx] | |
101 | xlat byte ptr [ebx] | |
102 | xlatb | |
103 | ||
167c3097 JB |
104 | # memory operands |
105 | ||
106 | mov eax, dword ptr [byte+eax] | |
107 | mov eax, dword ptr byte[eax] | |
108 | mov eax, [dword+eax] | |
109 | mov eax, dword[eax] | |
110 | mov eax, [fword+eax] | |
111 | mov eax, fword[eax] | |
112 | mov eax, [qword+eax+dword] | |
113 | mov eax, qword[eax+dword] | |
114 | mov eax, [tbyte+eax+dword*2] | |
115 | mov eax, tbyte[eax+dword*2] | |
a724f0f4 JB |
116 | mov eax, [word+eax*dword] |
117 | mov eax, word[eax*dword] | |
118 | ||
0f7da397 L |
119 | mov eax, [eax*1] |
120 | mov eax, [eax*+1] | |
121 | mov eax, [+1*eax] | |
a724f0f4 JB |
122 | mov eax, [eax*+2] |
123 | mov eax, [+2*eax] | |
124 | mov eax, [ecx*dword] | |
125 | mov eax, [dword*ecx] | |
126 | mov eax, 1[eax] | |
127 | mov eax, [eax]+1 | |
128 | mov eax, [eax - 5 + ecx] | |
129 | mov eax, [eax + 5 and 3 + ecx] | |
130 | mov eax, [eax + 5*3 + ecx] | |
131 | mov eax, [oword][eax] | |
132 | mov eax, [eax][oword] | |
133 | mov eax, xmmword[eax][ecx] | |
134 | mov eax, [eax]+1[ecx] | |
135 | mov eax, [eax][ecx]+1 | |
136 | mov eax, [1][eax][ecx] | |
137 | mov eax, [eax][1][ecx] | |
138 | mov eax, [eax][ecx][1] | |
139 | mov eax, [[eax]] | |
140 | mov eax, [eax[ecx]] | |
141 | mov eax, [[eax][ecx]] | |
142 | mov eax, es:[eax] | |
167c3097 | 143 | |
9306ca4a JB |
144 | # expressions |
145 | ||
146 | push + 1 | |
147 | push - 1 | |
148 | push not 1 | |
149 | push 1 + 1 | |
150 | push 2 - 1 | |
151 | push 2 * 2 | |
152 | push 3 / 2 | |
153 | push 3 mod 2 | |
154 | push 4 shl 1 | |
155 | push 5 shr 2 | |
156 | push 6 and 3 | |
157 | push 7 xor 4 | |
158 | push 8 or 5 | |
6639a9d9 | 159 | |
a724f0f4 JB |
160 | push +dword |
161 | push -dword | |
162 | push not dword | |
163 | push not +dword | |
164 | push not -dword | |
165 | push not not dword | |
166 | ||
167 | # offset expressions | |
168 | ||
169 | mov eax, offset x | |
170 | mov eax, offset flat:x | |
b7240065 | 171 | mov eax, offset gs:x |
a724f0f4 JB |
172 | mov eax, offset [x] |
173 | mov eax, offset flat:[x] | |
b7240065 | 174 | mov eax, offset gs:[x] |
a724f0f4 JB |
175 | mov eax, [offset x] |
176 | mov eax, [eax + offset x] | |
177 | mov eax, [eax + offset 1] | |
178 | mov eax, [offset x + eax] | |
179 | mov eax, offset x+1[eax] | |
180 | mov eax, [eax] + offset x | |
181 | mov eax, [eax] + offset 1 | |
182 | mov eax, offset x + [1] | |
183 | mov eax, [offset x] - [1] | |
184 | mov eax, offset x + es:[2] | |
185 | mov eax, offset x + offset es:[3] | |
186 | mov eax, [4] + offset x | |
187 | mov eax, [5] + [offset x] | |
188 | mov eax, ss:[6] + offset x | |
189 | mov eax, ss:[7] + [offset x] | |
190 | mov eax, dword ptr [8] | |
191 | ||
192 | # other operands | |
193 | call 3:5 | |
194 | jmp 5:3 | |
435acd52 JB |
195 | call dword ptr xtrn |
196 | jmp word ptr xtrn | |
a724f0f4 | 197 | |
6639a9d9 AM |
198 | # Force a good alignment. |
199 | .p2align 4,0 |