1
.*: Assembler messages:
40
3 #test jumps and calls
42
5 0002 E9((FC|F9)FFFF FF|000000 00) jmp xxx
43
6 0007 FF250000 0000 jmp \*xxx
44
7 000d FF250000 0000 jmp xxx\(,1\)
46
8 0013 FFE7 jmp \*%edi
49
10 0017 FF27 jmp \*\(%edi\)
50
11 0019 FF27 jmp \(%edi\)
52
12 001b FF2CBD00 000000 ljmp \*xxx\(,%edi,4\)
53
13 0022 FF2CBD00 000000 ljmp xxx\(,%edi,4\)
55
14 0029 FF2D0000 0000 ljmp \*xxx
56
15 002f FF2D0000 0000 ljmp xxx\(,1\)
58
16 0035 EA000000 003412 ljmp \$0x1234,\$xxx
60
18 003c E8BFFFFF FF call 1b
61
19 0041 E8((FC|BA)FFFF FF|000000 00) call xxx
62
20 0046 FF150000 0000 call \*xxx
63
21 004c FF150000 0000 call xxx\(,1\)
65
22 0052 FFD7 call \*%edi
66
23 0054 FFD7 call %edi
68
24 0056 FF17 call \*\(%edi\)
69
25 0058 FF17 call \(%edi\)
71
26 005a FF1CBD00 000000 lcall \*xxx\(,%edi,4\)
72
27 0061 FF1CBD00 000000 lcall xxx\(,%edi,4\)
74
28 0068 FF1D0000 0000 lcall \*xxx
75
29 006e FF1D0000 0000 lcall xxx\(,1\)
77
30 0074 9A000000 003412 lcall \$0x1234,\$xxx
79
32 # test various segment reg insns
84
37 007f 8CD8 mov %ds,%eax
85
38 0081 8CD8 movl %ds,%eax
86
39 0083 8CD8 movl %ds,%ax
88
40 0085 8ED8 mov %eax,%ds
89
41 0087 8ED8 movl %ax,%ds
91
42 0089 8ED8 movl %eax,%ds
93
44 008b 661E pushw %ds
95
46 008f 668CD8 mov %ds,%ax
96
47 0092 668CD8 movw %ds,%ax
97
48 0095 668CD8 movw %ds,%eax
99
49 0098 8ED8 mov %ax,%ds
100
50 009a 8ED8 movw %ax,%ds
101
51 009c 8ED8 movw %eax,%ds
104
53 # test various pushes
105
54 009e 6A0A pushl \$10
106
55 00a0 666A0A pushw \$10
107
56 00a3 6A0A push \$10
108
57 00a5 68E80300 00 pushl \$1000
109
58 00aa 6668E803 pushw \$1000
110
59 00ae 68E80300 00 push \$1000
111
60 00b3 FF35D200 0000 pushl 1f
112
61 00b9 66FF35D2 000000 pushw 1f
113
62 00c0 FF35D200 0000 push 1f
114
63 00c6 FFB30C00 0000 push \(1f-.\)\(%ebx\)
115
64 00cc FF350600 0000 push 1f-.
116
65 # these, and others like them should have no operand size prefix
117
66 00d2 0F00D1 1: lldt %cx
118
67 00d5 0F01F0 lmsw %ax
120
69 # Just to make sure these don't become illegal due to over-enthusiastic
121
70 # register checking
122
71 00d8 660FBEF8 movsbw %al,%di
123
72 00dc 0FBEC8 movsbl %al,%ecx
124
73 00df 0FBFC8 movswl %ax,%ecx
125
74 00e2 660FB6F8 movzbw %al,%di
126
75 00e6 0FB6C8 movzbl %al,%ecx
127
76 00e9 0FB7C8 movzwl %ax,%ecx
129
78 00ec EC in %dx,%al
130
79 00ed 66ED in %dx,%ax
131
80 00ef ED in %dx,%eax
132
81 00f0 EC in \(%dx\),%al
133
82 00f1 66ED in \(%dx\),%ax
134
83 00f3 ED in \(%dx\),%eax
135
84 00f4 EC inb %dx,%al
136
85 00f5 66ED inw %dx,%ax
137
86 00f7 ED inl %dx,%eax
141
90 00fc E4FF inb \$255
142
91 00fe 66E502 inw \$2
144
93 0103 66E50D in \$13, %ax
145
94 0106 EE out %al,%dx
146
95 0107 66EF out %ax,%dx
147
96 0109 EF out %eax,%dx
148
97 010a EE out %al,\(%dx\)
149
98 010b 66EF out %ax,\(%dx\)
150
99 010d EF out %eax,\(%dx\)
151
100 010e EE outb %al,%dx
152
101 010f 66EF outw %ax,%dx
153
102 0111 EF outl %eax,%dx
155
104 0113 66EF outw %dx
157
106 0116 E6FF outb \$255
158
107 0118 66E702 outw \$2
159
108 011b E704 outl \$4
160
109 011d 66E70D out %ax, \$13
161
110 # These are used in AIX.
162
111 0120 66ED inw \(%dx\)
163
112 0122 66EF outw \(%dx\)
169
118 0129 2EA5 movsl %cs:\(%esi\),%es:\(%edi\)
170
119 012b 0F9303 setae \(%ebx\)
171
120 012e 0F9303 setaeb \(%ebx\)
172
121 0131 0F93C0 setae %al
174
123 #these should give warnings
175
124 0134 0C01 orb \$1,%ax
177
125 0136 0C01 orb \$1,%eax
179
126 0138 80CB01 orb \$1,%bx
181
127 013b 80CB01 orb \$1,%ebx
183
128 013e D9C1 fldl %st\(1\)
185
129 0140 DDD2 fstl %st\(2\)
187
130 0142 DDDB fstpl %st\(3\)
189
131 0144 D8D4 fcoml %st\(4\)
191
132 0146 D8DD fcompl %st\(5\)
193
133 0148 DEC1 faddp %st\(1\),%st
195
134 014a DECA fmulp %st\(2\),%st
197
135 014c DEE3 fsubp %st\(3\),%st
199
136 014e DEEC fsubrp %st\(4\),%st
201
137 0150 DEF5 fdivp %st\(5\),%st
203
138 0152 DEFE fdivrp %st\(6\),%st
217
145 #these should all be legal
218
146 0160 0FA31556 341200 btl %edx, 0x123456
219
147 0167 0FA3D0 btl %edx, %eax
220
148 016a 0C01 orb \$1,%al
221
149 016c 80CB01 orb \$1,%bl
222
150 016f A1110000 00 movl 17,%eax
223
151 0174 A1110000 00 mov 17,%eax
224
152 0179 66ED inw %dx,%ax
225
153 017b ED inl %dx,%eax
226
154 017c 66ED inw \(%dx\),%ax
227
155 017e ED inl \(%dx\),%eax
228
156 017f EC in \(%dx\),%al
229
157 0180 66ED in \(%dx\),%ax
230
158 0182 ED in \(%dx\),%eax
231
159 0183 0FB61437 movzbl \(%edi,%esi\),%edx
232
160 0187 0FB6451C movzbl 28\(%ebp\),%eax
233
161 018b 0FB6C0 movzbl %al,%eax
234
162 018e 0FB6F1 movzbl %cl,%esi
235
163 0191 26D7 xlat %es:\(%ebx\)
238
166 0195 DDD8 1: fstp %st\(0\)
239
167 0197 E2FC loop 1b
240
168 0199 F6F1 divb %cl
241
169 019b 66F7F1 divw %cx
242
170 019e F7F1 divl %ecx
243
171 01a0 F6F1 div %cl
244
172 01a2 66F7F1 div %cx
245
173 01a5 F7F1 div %ecx
246
174 01a7 F6F1 div %cl,%al
247
175 01a9 66F7F1 div %cx,%ax
248
176 01ac F7F1 div %ecx,%eax
249
177 01ae 8EDE mov %si,%ds
250
178 01b0 8EDE movl %si,%ds # warning here
252
179 01b2 1E pushl %ds
254
181 01b4 A0000000 00 mov 0,%al
255
182 01b9 66A10000 0100 mov 0x10000,%ax
256
183 01bf 89C3 mov %eax,%ebx
263
190 01c9 89341D00 000000 mov %esi,\(,%ebx,1\)
264
191 01d0 80250000 00007F andb \$~0x80,foo
266
193 01d7 6683E0FE and \$0xfffe,%ax
267
194 01db 662500FF and \$0xff00,%ax
268
195 01df 25FEFF00 00 and \$0xfffe,%eax
269
196 01e4 2500FF00 00 and \$0xff00,%eax
270
197 01e9 83E0FE and \$0xfffffffe,%eax
273
200 01ec 83E0FE and \$0xfffe,%ax
274
201 01ef 2500FF and \$0xff00,%ax
275
202 01f2 6625FEFF 0000 and \$0xfffe,%eax
276
203 01f8 662500FF 0000 and \$0xff00,%eax
277
204 01fe 6683E0FE and \$0xfffffffe,%eax
279
206 #check 16-bit code auto address prefix
281
208 0202 67668D95 00FFFFFF leal -256\(%ebp\),%edx
282
209 020a 6788857F FFFFFF mov %al,-129\(%ebp\)
283
210 0211 67886580 mov %ah,-128\(%ebp\)
284
211 0215 67668D9D 20F9FFFF leal -1760\(%ebp\),%ebx
285
212 021d 67668984 248C0000 movl %eax,140\(%esp\)
289
215 # Make sure that we won't remove movzb by accident.
290
216 0226 660FB6F8 movzb %al,%di
291
217 022a 0FB6C8 movzb %al,%ecx
293
219 # Force a good alignment.
294
220 022d 000000 .p2align 4,0