x86/Intel: fix "near ptr" / "far ptr" handling
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / intelbad.s
1 .intel_syntax noprefix
2 .text
3 start:
4 add eax, byte ptr [eax]
5 add eax, qword ptr [eax]
6 add [eax], 1
7 add qword ptr [eax], 1
8 addpd xmm0, dword ptr [eax]
9 addpd xmm0, qword ptr [eax]
10 addpd xmm0, tbyte ptr [eax]
11 addps xmm0, dword ptr [eax]
12 addps xmm0, qword ptr [eax]
13 addps xmm0, tbyte ptr [eax]
14 addsd xmm0, dword ptr [eax]
15 addsd xmm0, tbyte ptr [eax]
16 addsd xmm0, xmmword ptr [eax]
17 addss xmm0, qword ptr [eax]
18 addss xmm0, tbyte ptr [eax]
19 addss xmm0, xmmword ptr [eax]
20 bound eax, dword ptr [ebx]
21 bound ax, word ptr [ebx]
22 call byte ptr [eax]
23 call qword ptr [eax]
24 call tbyte ptr [eax]
25 call xword ptr [eax]
26 cmps [esi], es:[edi]
27 cmps dword ptr [esi], word ptr es:[edi]
28 cmpxchg8b dword ptr [eax]
29 fadd [eax]
30 fadd word ptr [eax]
31 fadd tbyte ptr [eax]
32 fbld byte ptr [eax]
33 fbld word ptr [eax]
34 fbstp dword ptr [eax]
35 fbstp qword ptr [eax]
36 fiadd [eax]
37 fiadd byte ptr [eax]
38 fild [eax]
39 fild byte ptr [eax]
40 fild tbyte ptr [eax]
41 fist [eax]
42 fist byte ptr [eax]
43 fist qword ptr [eax]
44 fistp [eax]
45 fistp byte ptr [eax]
46 fisttp [eax]
47 fisttp byte ptr [eax]
48 fld [eax]
49 fld word ptr [eax]
50 fldcw dword ptr [eax]
51 fst [eax]
52 fst word ptr [eax]
53 fst tbyte ptr [eax]
54 fstp [eax]
55 fstp word ptr [eax]
56 ins es:[edi], dx
57 lds ax, word ptr [eax]
58 lds eax, dword ptr [eax]
59 lods [esi]
60 movs es:[edi], [esi]
61 movs dword ptr es:[edi], word ptr [esi]
62 movsx eax, [eax]
63 movsx eax, dword ptr [eax]
64 outs dx, [esi]
65 paddb mm0, dword ptr [eax]
66 paddb mm0, xmmword ptr [eax]
67 paddb xmm0, dword ptr [eax]
68 paddb xmm0, qword ptr [eax]
69 pinsrw mm0, byte ptr [eax], 3
70 pinsrw mm0, dword ptr [eax], 3
71 pinsrw mm0, qword ptr [eax], 3
72 pinsrw xmm0, dword ptr [eax], 7
73 pinsrw xmm0, qword ptr [eax], 7
74 pinsrw xmm0, xmmword ptr [eax], 7
75 push byte ptr [eax]
76 push qword ptr [eax]
77 scas es:[edi]
78 #XXX? shl eax
79 stos es:[edi]
80 xlat word ptr [ebx]
81 #XXX? xlatb [ebx]
82
83 # expressions
84 #XXX? push ~ 1
85 #XXX? push 1 % 1
86 #XXX? push 1 << 1
87 #XXX? push 1 >> 1
88 #XXX? push 1 & 1
89 #XXX? push 1 ^ 1
90 #XXX? push 1 | 1
91 push 1 1
92 push 1 +
93 push 1 * * 1
94
95 # memory references
96 mov eax, [ecx*3]
97 mov eax, [3*ecx]
98 mov eax, [-1*ecx + 1]
99 mov eax, [esp + esp]
100 mov eax, [eax - 1*ecx + 1]
101 mov eax, [(eax-1) * (eax-1)]
102 mov eax, [eax-1 xor eax-1]
103 mov eax, [(eax-1) xor (eax-1)]
104 mov eax, [not eax + 1]
105 mov eax, [ecx*2 + edx*4]
106 mov eax, [2*ecx + 4*edx]
107 mov eax, [eax]1[ecx] # ugly diag
108 mov eax, [eax][ecx]1 # ugly diag
109 mov eax, eax[ecx] # ugly diag
110 mov eax, es[ecx]
111 mov eax, cr0[ecx]
112 mov eax, [eax]ecx
113 mov eax, [eax]+ecx
114 mov eax, [eax]+ecx*2
115 mov eax, [eax]+2*ecx
116 mov eax, [[eax]ecx]
117 mov eax, eax:[ecx]
118
119 mov eax, [ss]
120 mov eax, [st]
121 mov eax, [mm0]
122 mov eax, [xmm0]
123 mov eax, [cr0]
124 mov eax, [dr7]
125
126 mov eax, [ss+edx]
127 mov eax, [st+edx]
128 mov eax, [mm0+edx]
129 mov eax, [xmm0+edx]
130 mov eax, [cr0+edx]
131 mov eax, [dr7+edx]
132
133 mov eax, [edx+ss]
134 mov eax, [edx+st]
135 mov eax, [edx+cr0]
136 mov eax, [edx+dr7]
137 mov eax, [edx+mm0]
138 mov eax, [edx+xmm0]
139
140 lea eax, [bx+si*1]
141 lea eax, [bp+si*2]
142 lea eax, [bx+di*4]
143 lea eax, [bp+di*8]
144 lea eax, [bx+1*si]
145 lea eax, [bp+2*si]
146 lea eax, [bx+4*di]
147 lea eax, [bp+8*di]
148
149 mov eax, [ah]
150 mov eax, [ax]
151 mov eax, [eax+bx]
152 mov eax, offset [eax]
153 mov eax, offset eax
154 mov eax, offset offset eax
155 mov eax, offset [1*eax]
156 mov eax, offset 1*eax
157 #XXX? mov eax, offset x[eax]
158 #XXX? mov eax, offset [x][eax]
159 mov eax, flat x
160 mov eax, flat [x]
161 mov eax, es:eax
162 mov eax, eax[ebp]
163 movzx eax, 1 ptr [eax]
164 movzx eax, byte word ptr [eax]
165 movzx eax, [byte ptr eax]
166 movzx eax, byte [ptr [eax]]
167 movzx eax, byte ptr [gs:eax]
168 movzx eax, byte gs:ptr [eax]
169 movzx eax, byte ptr 1
170 #XXX? movzx eax, byte ptr [1]
171
172 mov eax, 3:5
173
174 lds eax, byte ptr [eax]
175 les eax, word ptr [eax]
176 lfs eax, dword ptr [eax]
177 lgs eax, qword ptr [eax]
178 lss eax, tbyte ptr [eax]
179
180 fld near ptr [ebx]
181 fst far ptr [ebx]
182
183 fild far ptr [ebx]
184 fist near ptr [ebx]
This page took 0.035681 seconds and 4 git commands to generate.