1 .*: Assembler messages: 2 .*:7: Warning:.* 3 .*:9: Warning:.* 4 .*:11: Warning:.* 5 .*:13: Warning:.* 6 .*:15: Warning:.* 7 .*:21: Warning:.* 8 .*:23: Warning:.* 9 .*:25: Warning:.* 10 .*:27: Warning:.* 11 .*:29: Warning:.* 12 .*:39: Warning:.* 13 .*:41: Warning:.* 14 .*:48: Warning:.* 15 .*:51: Warning:.* 16 .*:124: Warning:.* 17 .*:125: Warning:.* 18 .*:126: Warning:.* 19 .*:127: Warning:.* 20 .*:128: Warning:.* 21 .*:129: Warning:.* 22 .*:130: Warning:.* 23 .*:131: Warning:.* 24 .*:132: Warning:.* 25 .*:133: Warning:.* 26 .*:134: Warning:.* 27 .*:135: Warning:.* 28 .*:136: Warning:.* 29 .*:137: Warning:.* 30 .*:138: Warning:.* 31 .*:139: Warning:.* 32 .*:140: Warning:.* 33 .*:141: Warning:.* 34 .*:142: Warning:.* 35 .*:143: Warning:.* 36 .*:144: Warning:.* 37 .*:178: Warning:.* 38 1 .psize 0 39 2 .text 40 3 #test jumps and calls 41 4 0000 EBFE 1: jmp 1b 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\) 45 .*Warning:.* 46 8 0013 FFE7 jmp \*%edi 47 9 0015 FFE7 jmp %edi 48 .*Warning:.* 49 10 0017 FF27 jmp \*\(%edi\) 50 11 0019 FF27 jmp \(%edi\) 51 .*Warning:.* 52 12 001b FF2CBD00 000000 ljmp \*xxx\(,%edi,4\) 53 13 0022 FF2CBD00 000000 ljmp xxx\(,%edi,4\) 54 .*Warning:.* 55 14 0029 FF2D0000 0000 ljmp \*xxx 56 15 002f FF2D0000 0000 ljmp xxx\(,1\) 57 .*Warning:.* 58 16 0035 EA000000 003412 ljmp \$0x1234,\$xxx 59 17 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\) 64 .*Warning:.* 65 22 0052 FFD7 call \*%edi 66 23 0054 FFD7 call %edi 67 .*Warning:.* 68 24 0056 FF17 call \*\(%edi\) 69 25 0058 FF17 call \(%edi\) 70 .*Warning:.* 71 26 005a FF1CBD00 000000 lcall \*xxx\(,%edi,4\) 72 27 0061 FF1CBD00 000000 lcall xxx\(,%edi,4\) 73 .*Warning:.* 74 28 0068 FF1D0000 0000 lcall \*xxx 75 29 006e FF1D0000 0000 lcall xxx\(,1\) 76 .*Warning:.* 77 30 0074 9A000000 003412 lcall \$0x1234,\$xxx 78 31 79 32 # test various segment reg insns 80 33 007b 1E push %ds 81 34 007c 1E pushl %ds 82 35 007d 1F pop %ds 83 36 007e 1F popl %ds 84 37 007f 8CD8 mov %ds,%eax 85 38 0081 8CD8 movl %ds,%eax 86 39 0083 8CD8 movl %ds,%ax 87 .*Warning:.* 88 40 0085 8ED8 mov %eax,%ds 89 41 0087 8ED8 movl %ax,%ds 90 .*Warning:.* 91 42 0089 8ED8 movl %eax,%ds 92 43 93 44 008b 661E pushw %ds 94 45 008d 661F popw %ds 95 46 008f 668CD8 mov %ds,%ax 96 47 0092 668CD8 movw %ds,%ax 97 48 0095 668CD8 movw %ds,%eax 98 .*Warning:.* 99 49 0098 8ED8 mov %ax,%ds 100 50 009a 8ED8 movw %ax,%ds 101 51 009c 8ED8 movw %eax,%ds 102 .*Warning:.* 103 52 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 119 68 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 128 77 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 138 87 00f8 EC inb %dx 139 88 00f9 66ED inw %dx 140 89 00fb ED inl %dx 141 90 00fc E4FF inb \$255 142 91 00fe 66E502 inw \$2 143 92 0101 E504 inl \$4 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 154 103 0112 EE outb %dx 155 104 0113 66EF outw %dx 156 105 0115 EF outl %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\) 164 113 165 114 0124 A4 movsb 166 115 0125 66A7 cmpsw 167 116 0127 AF scasl 168 117 0128 D7 xlatb 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 173 122 174 123 #these should give warnings 175 124 0134 0C01 orb \$1,%ax 176 .*Warning:.* 177 125 0136 0C01 orb \$1,%eax 178 .*Warning:.* 179 126 0138 80CB01 orb \$1,%bx 180 .*Warning:.* 181 127 013b 80CB01 orb \$1,%ebx 182 .*Warning:.* 183 128 013e D9C1 fldl %st\(1\) 184 .*Warning:.* 185 129 0140 DDD2 fstl %st\(2\) 186 .*Warning:.* 187 130 0142 DDDB fstpl %st\(3\) 188 .*Warning:.* 189 131 0144 D8D4 fcoml %st\(4\) 190 .*Warning:.* 191 132 0146 D8DD fcompl %st\(5\) 192 .*Warning:.* 193 133 0148 DEC1 faddp %st\(1\),%st 194 .*Warning:.* 195 134 014a DECA fmulp %st\(2\),%st 196 .*Warning:.* 197 135 014c DEE3 fsubp %st\(3\),%st 198 .*Warning:.* 199 136 014e DEEC fsubrp %st\(4\),%st 200 .*Warning:.* 201 137 0150 DEF5 fdivp %st\(5\),%st 202 .*Warning:.* 203 138 0152 DEFE fdivrp %st\(6\),%st 204 .*Warning:.* 205 139 0154 DEC1 fadd 206 .*Warning:.* 207 140 0156 DEE1 fsub 208 .*Warning:.* 209 141 0158 DEC9 fmul 210 .*Warning:.* 211 142 015a DEF1 fdiv 212 .*Warning:.* 213 143 015c DEE9 fsubr 214 .*Warning:.* 215 144 015e DEF9 fdivr 216 .*Warning:.* 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\) 236 164 0193 D7 xlat 237 165 0194 D7 xlatb 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 251 .*Warning:.* 252 179 01b2 1E pushl %ds 253 180 01b3 1E push %ds 254 181 01b4 A0000000 00 mov 0,%al 255 182 01b9 66A10000 0100 mov 0x10000,%ax 256 183 01bf 89C3 mov %eax,%ebx 257 184 01c1 9C pushf 258 185 01c2 9C pushfl 259 186 01c3 669C pushfw 260 187 01c5 9D popf 261 188 01c6 9D popfl 262 189 01c7 669D popfw 263 190 01c9 89341D00 000000 mov %esi,\(,%ebx,1\) 264 191 01d0 80250000 00007F andb \$~0x80,foo 265 192 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 271 198 272 199 .code16 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 278 205 279 206 #check 16-bit code auto address prefix 280 207 .code16gcc 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\) 286 212 00 287 213 288 214 .code32 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 292 218 293 219 # Force a good alignment. 294 220 022d 000000 .p2align 4,0 295