diff options
-rw-r--r-- | gas/ChangeLog | 11 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 24 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/general.l | 369 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/general.s | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/intel.d | 574 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/intel.s | 568 | ||||
-rw-r--r-- | include/opcode/ChangeLog | 5 | ||||
-rw-r--r-- | include/opcode/i386.h | 4 |
10 files changed, 1392 insertions, 190 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 574ac0a..feb81f8 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,14 @@ +2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (md_assemble): Don't swap intersegment jmp and + call operands when intel_syntax. + (intel_float_operand): Return 2 for "fi...". + (i386_operand_modifier): Change "DWORD PTR" test to suit above. + Return SHORT_MNEM_SUFFIX for "WORD PTR" when "fi...". Revert + earlier "SHORT" change. + (md_assemble): When determining suffix from Regs, exclude + InOutPortReg. + 2000-02-24 Nick Clifton <nickc@cygnus.com> * configure: Add arm-wince, mips-pe and sh-pe targets. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index cfc666b..3e202b7 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -974,7 +974,7 @@ intel_float_operand (mnemonic) char *mnemonic; { if (mnemonic[0] == 'f' && mnemonic[1] =='i') - return 0; + return 2; if (mnemonic[0] == 'f') return 1; @@ -1265,10 +1265,15 @@ md_assemble (line) unsigned int found_reverse_match; int suffix_check; - /* All intel opcodes have reversed operands except for BOUND and ENTER */ + /* All intel opcodes have reversed operands except for "bound" and + "enter". We also don't reverse intersegment "jmp" and "call" + instructions with 2 immediate operands so that the immediate segment + precedes the offset, as it does when in AT&T mode. "enter" and the + intersegment "jmp" and "call" instructions are the only ones that + have two immediate operands. */ if (intel_syntax && i.operands > 1 - && (strcmp (mnemonic, "enter") != 0) - && (strcmp (mnemonic, "bound") != 0)) + && (strcmp (mnemonic, "bound") != 0) + && !((i.types[0] & Imm) && (i.types[1] & Imm))) { union i386_op temp_op; unsigned int temp_type; @@ -1491,7 +1496,8 @@ md_assemble (line) register type. */ int op; for (op = i.operands; --op >= 0; ) - if (i.types[op] & Reg) + if ((i.types[op] & Reg) + && !(i.tm.operand_types[op] & InOutPortReg)) { i.suffix = ((i.types[op] & Reg8) ? BYTE_MNEM_SUFFIX : (i.types[op] & Reg16) ? WORD_MNEM_SUFFIX : @@ -2818,14 +2824,17 @@ i386_operand_modifier (op_string, got_a_float) } else if (!strncasecmp (*op_string, "WORD PTR", 8)) { - i.suffix = WORD_MNEM_SUFFIX; + if (got_a_float == 2) /* "fi..." */ + i.suffix = SHORT_MNEM_SUFFIX; + else + i.suffix = WORD_MNEM_SUFFIX; *op_string += 8; return WORD_PTR; } else if (!strncasecmp (*op_string, "DWORD PTR", 9)) { - if (got_a_float) + if (got_a_float == 1) /* "f..." */ i.suffix = SHORT_MNEM_SUFFIX; else i.suffix = LONG_MNEM_SUFFIX; @@ -2849,7 +2858,6 @@ i386_operand_modifier (op_string, got_a_float) else if (!strncasecmp (*op_string, "SHORT", 5)) { - i.suffix = WORD_MNEM_SUFFIX; *op_string += 5; return SHORT; } diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index da48575..8b5b855 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au> + + * gas/i386/intel.s: New file, intel version of opcode.s + * gas/i386/intel.d: New file, copy opcode.d + + * gas/i386/general.s: Add extra "out" instructions. + * gas/i386/general.l: Likewise. + 2000-01-31 Nick Clifton <nickc@cygnus.com> * gas/arm/inst.s: Include test of ATPCS register naming diff --git a/gas/testsuite/gas/i386/general.l b/gas/testsuite/gas/i386/general.l index a6fc584..5f1041b 100644 --- a/gas/testsuite/gas/i386/general.l +++ b/gas/testsuite/gas/i386/general.l @@ -3,20 +3,6 @@ .*:12: Warning:.* .*:19: Warning:.* .*:22: Warning:.* -.*:81: Warning:.* -.*:82: Warning:.* -.*:83: Warning:.* -.*:84: Warning:.* -.*:85: Warning:.* -.*:86: Warning:.* -.*:87: Warning:.* -.*:88: Warning:.* -.*:89: Warning:.* -.*:90: Warning:.* -.*:91: Warning:.* -.*:92: Warning:.* -.*:93: Warning:.* -.*:94: Warning:.* .*:95: Warning:.* .*:96: Warning:.* .*:97: Warning:.* @@ -24,17 +10,31 @@ .*:99: Warning:.* .*:100: Warning:.* .*:101: Warning:.* -.*:135: Warning:.* -.*:162: Warning:.* -.*:164: Warning:.* -.*:166: Warning:.* -.*:168: Warning:.* -.*:170: Warning:.* +.*:102: Warning:.* +.*:103: Warning:.* +.*:104: Warning:.* +.*:105: Warning:.* +.*:106: Warning:.* +.*:107: Warning:.* +.*:108: Warning:.* +.*:109: Warning:.* +.*:110: Warning:.* +.*:111: Warning:.* +.*:112: Warning:.* +.*:113: Warning:.* +.*:114: Warning:.* +.*:115: Warning:.* +.*:149: Warning:.* .*:176: Warning:.* .*:178: Warning:.* .*:180: Warning:.* .*:182: Warning:.* .*:184: Warning:.* +.*:190: Warning:.* +.*:192: Warning:.* +.*:194: Warning:.* +.*:196: Warning:.* +.*:198: Warning:.* 1 .psize 0 2 .text 3 # test various segment reg insns @@ -102,162 +102,175 @@ 61 0081 E4FF inb \$255 62 0083 66E502 inw \$2 63 0086 E504 inl \$4 - 64 0088 EF outl %eax,%dx - 65 0089 E62A out %al, \$42 - 66 008b 66E50D in \$13, %ax - 67 # These are used in AIX. - 68 008e 66ED inw \(%dx\) - 69 0090 66EF outw \(%dx\) - 70 - 71 0092 A4 movsb - 72 0093 66A7 cmpsw - 73 0095 AF scasl - 74 0096 D7 xlatb - 75 0097 2EA5 movsl %cs:\(%esi\),%es:\(%edi\) - 76 0099 0F9303 setae \(%ebx\) - 77 009c 0F9303 setaeb \(%ebx\) - 78 009f 0F93C0 setae %al - 79 - 80 #these should give warnings - 81 00a2 0C01 orb \$1,%ax -.*Warning:.* - 82 00a4 0C01 orb \$1,%eax -.*Warning:.* - 83 00a6 80CB01 orb \$1,%bx -.*Warning:.* - 84 00a9 80CB01 orb \$1,%ebx -.*Warning:.* - 85 00ac D9C1 fldl %st\(1\) -.*Warning:.* - 86 00ae DDD2 fstl %st\(2\) -.*Warning:.* - 87 00b0 DDDB fstpl %st\(3\) -.*Warning:.* - 88 00b2 D8D4 fcoml %st\(4\) -.*Warning:.* - 89 00b4 D8DD fcompl %st\(5\) -.*Warning:.* - 90 00b6 DEC1 faddp %st\(1\),%st -.*Warning:.* - 91 00b8 DECA fmulp %st\(2\),%st -.*Warning:.* - 92 00ba DEE3 fsubp %st\(3\),%st -.*Warning:.* - 93 00bc DEEC fsubrp %st\(4\),%st -.*Warning:.* - 94 00be DEF5 fdivp %st\(5\),%st -.*Warning:.* - 95 00c0 DEFE fdivrp %st\(6\),%st -.*Warning:.* - 96 00c2 DEC1 fadd -.*Warning:.* - 97 00c4 DEE1 fsub -.*Warning:.* - 98 00c6 DEC9 fmul -.*Warning:.* - 99 00c8 DEF1 fdiv -.*Warning:.* - 100 00ca DEE9 fsubr -.*Warning:.* - 101 00cc DEF9 fdivr -.*Warning:.* - 102 #these should all be legal - 103 00ce 0FA31556 341200 btl %edx, 0x123456 - 104 00d5 0FA3D0 btl %edx, %eax - 105 00d8 0C01 orb \$1,%al - 106 00da 80CB01 orb \$1,%bl - 107 00dd A1110000 00 movl 17,%eax - 108 00e2 A1110000 00 mov 17,%eax - 109 00e7 66ED inw %dx,%ax - 110 00e9 ED inl %dx,%eax - 111 00ea 66ED inw \(%dx\),%ax - 112 00ec ED inl \(%dx\),%eax - 113 00ed EC in \(%dx\),%al - 114 00ee 66ED in \(%dx\),%ax - 115 00f0 ED in \(%dx\),%eax - 116 00f1 0FB61437 movzbl \(%edi,%esi\),%edx - 117 00f5 0FB6451C movzbl 28\(%ebp\),%eax - 118 00f9 0FB6C0 movzbl %al,%eax - 119 00fc 0FB6F1 movzbl %cl,%esi - 120 00ff 26D7 xlat %es:\(%ebx\) - 121 0101 D7 xlat - 122 0102 D7 xlatb - 123 0103 DDD8 1: fstp %st\(0\) - 124 0105 E2FC loop 1b - 125 0107 F6F1 divb %cl - 126 0109 66F7F1 divw %cx - 127 010c F7F1 divl %ecx - 128 010e F6F1 div %cl - 129 0110 66F7F1 div %cx - 130 0113 F7F1 div %ecx - 131 0115 F6F1 div %cl,%al - 132 0117 66F7F1 div %cx,%ax - 133 011a F7F1 div %ecx,%eax - 134 011c 8EDE mov %si,%ds - 135 011e 8EDE movl %si,%ds # warning here -.*Warning:.* - 136 0120 1E pushl %ds - 137 0121 1E push %ds - 138 0122 A0000000 00 mov 0,%al - 139 0127 66A10000 0100 mov 0x10000,%ax - 140 012d 89C3 mov %eax,%ebx - 141 012f 9C pushf - 142 0130 9C pushfl - 143 0131 669C pushfw - 144 0133 9D popf - 145 0134 9D popfl - 146 0135 669D popfw - 147 0137 89341D00 000000 mov %esi,\(,%ebx,1\) - 148 013e 80250000 00007F andb \$~0x80,foo - 149 - 150 #check 16-bit code auto address prefix - 151 .code16gcc - 152 0145 67668D95 00FFFFFF leal -256\(%ebp\),%edx - 153 014d 6788857F FFFFFF mov %al,-129\(%ebp\) - 154 0154 67886580 mov %ah,-128\(%ebp\) - 155 0158 67668D9D 20F9FFFF leal -1760\(%ebp\),%ebx - 156 0160 67668984 248C0000 movl %eax,140\(%esp\) - 156 00 - 157 - 158 .code32 - 159 0169 EB98 jmp 1b - 160 016b E9(FCFF|90FE)FF FF jmp xxx - 161 0170 FF250000 0000 jmp \*xxx - 162 0176 FF250000 0000 jmp xxx\(,1\) -.*Warning:.* - 163 017c FFE7 jmp \*%edi - 164 017e FFE7 jmp %edi -.*Warning:.* - 165 0180 FF27 jmp \*\(%edi\) - 166 0182 FF27 jmp \(%edi\) -.*Warning:.* - 167 0184 FF2CBD00 000000 ljmp \*xxx\(,%edi,4\) - 168 018b FF2CBD00 000000 ljmp xxx\(,%edi,4\) -.*Warning:.* - 169 0192 FF2D0000 0000 ljmp \*xxx - 170 0198 FF2D0000 0000 ljmp xxx\(,1\) -.*Warning:.* - 171 019e EA000000 003412 ljmp \$0x1234,\$xxx - 172 - 173 01a5 E859FFFF FF call 1b - 174 01aa E8(FCFF|51FE)FF FF call xxx - 175 01af FF150000 0000 call \*xxx - 176 01b5 FF150000 0000 call xxx\(,1\) -.*Warning:.* - 177 01bb FFD7 call \*%edi - 178 01bd FFD7 call %edi -.*Warning:.* - 179 01bf FF17 call \*\(%edi\) - 180 01c1 FF17 call \(%edi\) -.*Warning:.* - 181 01c3 FF1CBD00 000000 lcall \*xxx\(,%edi,4\) - 182 01ca FF1CBD00 000000 lcall xxx\(,%edi,4\) -.*Warning:.* - 183 01d1 FF1D0000 0000 lcall \*xxx - 184 01d7 FF1D0000 0000 lcall xxx\(,1\) -.*Warning:.* - 185 01dd 9A000000 003412 lcall \$0x1234,\$xxx + 64 0088 66E50D in \$13, %ax + 65 008b EE out %al,%dx + 66 008c 66EF out %ax,%dx + 67 008e EF out %eax,%dx + 68 008f EE out %al,\(%dx\) + 69 0090 66EF out %ax,\(%dx\) + 70 0092 EF out %eax,\(%dx\) + 71 0093 EE outb %al,%dx + 72 0094 66EF outw %ax,%dx + 73 0096 EF outl %eax,%dx + 74 0097 EE outb %dx + 75 0098 66EF outw %dx + 76 009a EF outl %dx + 77 009b E6FF outb \$255 + 78 009d 66E702 outw \$2 + 79 00a0 E704 outl \$4 + 80 00a2 66E70D out %ax, \$13 + 81 # These are used in AIX. + 82 00a5 66ED inw \(%dx\) + 83 00a7 66EF outw \(%dx\) + 84 + 85 00a9 A4 movsb + 86 00aa 66A7 cmpsw + 87 00ac AF scasl + 88 00ad D7 xlatb + 89 00ae 2EA5 movsl %cs:\(%esi\),%es:\(%edi\) + 90 00b0 0F9303 setae \(%ebx\) + 91 00b3 0F9303 setaeb \(%ebx\) + 92 00b6 0F93C0 setae %al + 93 + 94 #these should give warnings + 95 00b9 0C01 orb \$1,%ax +.*Warning:.* + 96 00bb 0C01 orb \$1,%eax +.*Warning:.* + 97 00bd 80CB01 orb \$1,%bx +.*Warning:.* + 98 00c0 80CB01 orb \$1,%ebx +.*Warning:.* + 99 00c3 D9C1 fldl %st\(1\) +.*Warning:.* + 100 00c5 DDD2 fstl %st\(2\) +.*Warning:.* + 101 00c7 DDDB fstpl %st\(3\) +.*Warning:.* + 102 00c9 D8D4 fcoml %st\(4\) +.*Warning:.* + 103 00cb D8DD fcompl %st\(5\) +.*Warning:.* + 104 00cd DEC1 faddp %st\(1\),%st +.*Warning:.* + 105 00cf DECA fmulp %st\(2\),%st +.*Warning:.* + 106 00d1 DEE3 fsubp %st\(3\),%st +.*Warning:.* + 107 00d3 DEEC fsubrp %st\(4\),%st +.*Warning:.* + 108 00d5 DEF5 fdivp %st\(5\),%st +.*Warning:.* + 109 00d7 DEFE fdivrp %st\(6\),%st +.*Warning:.* + 110 00d9 DEC1 fadd +.*Warning:.* + 111 00db DEE1 fsub +.*Warning:.* + 112 00dd DEC9 fmul +.*Warning:.* + 113 00df DEF1 fdiv +.*Warning:.* + 114 00e1 DEE9 fsubr +.*Warning:.* + 115 00e3 DEF9 fdivr +.*Warning:.* + 116 #these should all be legal + 117 00e5 0FA31556 341200 btl %edx, 0x123456 + 118 00ec 0FA3D0 btl %edx, %eax + 119 00ef 0C01 orb \$1,%al + 120 00f1 80CB01 orb \$1,%bl + 121 00f4 A1110000 00 movl 17,%eax + 122 00f9 A1110000 00 mov 17,%eax + 123 00fe 66ED inw %dx,%ax + 124 0100 ED inl %dx,%eax + 125 0101 66ED inw \(%dx\),%ax + 126 0103 ED inl \(%dx\),%eax + 127 0104 EC in \(%dx\),%al + 128 0105 66ED in \(%dx\),%ax + 129 0107 ED in \(%dx\),%eax + 130 0108 0FB61437 movzbl \(%edi,%esi\),%edx + 131 010c 0FB6451C movzbl 28\(%ebp\),%eax + 132 0110 0FB6C0 movzbl %al,%eax + 133 0113 0FB6F1 movzbl %cl,%esi + 134 0116 26D7 xlat %es:\(%ebx\) + 135 0118 D7 xlat + 136 0119 D7 xlatb + 137 011a DDD8 1: fstp %st\(0\) + 138 011c E2FC loop 1b + 139 011e F6F1 divb %cl + 140 0120 66F7F1 divw %cx + 141 0123 F7F1 divl %ecx + 142 0125 F6F1 div %cl + 143 0127 66F7F1 div %cx + 144 012a F7F1 div %ecx + 145 012c F6F1 div %cl,%al + 146 012e 66F7F1 div %cx,%ax + 147 0131 F7F1 div %ecx,%eax + 148 0133 8EDE mov %si,%ds + 149 0135 8EDE movl %si,%ds # warning here +.*Warning:.* + 150 0137 1E pushl %ds + 151 0138 1E push %ds + 152 0139 A0000000 00 mov 0,%al + 153 013e 66A10000 0100 mov 0x10000,%ax + 154 0144 89C3 mov %eax,%ebx + 155 0146 9C pushf + 156 0147 9C pushfl + 157 0148 669C pushfw + 158 014a 9D popf + 159 014b 9D popfl + 160 014c 669D popfw + 161 014e 89341D00 000000 mov %esi,\(,%ebx,1\) + 162 0155 80250000 00007F andb \$~0x80,foo + 163 + 164 #check 16-bit code auto address prefix + 165 .code16gcc + 166 015c 67668D95 00FFFFFF leal -256\(%ebp\),%edx + 167 0164 6788857F FFFFFF mov %al,-129\(%ebp\) + 168 016b 67886580 mov %ah,-128\(%ebp\) + 169 016f 67668D9D 20F9FFFF leal -1760\(%ebp\),%ebx + 170 0177 67668984 248C0000 movl %eax,140\(%esp\) + 170 00 + 171 + 172 .code32 + 173 0180 EB98 jmp 1b + 174 0182 E9(FCFF|90FE)FF FF jmp xxx + 175 0187 FF250000 0000 jmp \*xxx + 176 018d FF250000 0000 jmp xxx\(,1\) +.*Warning:.* + 177 0193 FFE7 jmp \*%edi + 178 0195 FFE7 jmp %edi +.*Warning:.* + 179 0197 FF27 jmp \*\(%edi\) + 180 0199 FF27 jmp \(%edi\) +.*Warning:.* + 181 019b FF2CBD00 000000 ljmp \*xxx\(,%edi,4\) + 182 01a2 FF2CBD00 000000 ljmp xxx\(,%edi,4\) +.*Warning:.* + 183 01a9 FF2D0000 0000 ljmp \*xxx + 184 01af FF2D0000 0000 ljmp xxx\(,1\) +.*Warning:.* + 185 01b5 EA000000 003412 ljmp \$0x1234,\$xxx 186 - 187 # Force a good alignment. - 188 01e4 00000000 00000000 .p2align 4,0 - 188 00000000 + 187 01bc E859FFFF FF call 1b + 188 01c1 E8(FCFF|51FE)FF FF call xxx + 189 01c6 FF150000 0000 call \*xxx + 190 01cc FF150000 0000 call xxx\(,1\) +.*Warning:.* + 191 01d2 FFD7 call \*%edi + 192 01d4 FFD7 call %edi +.*Warning:.* + 193 01d6 FF17 call \*\(%edi\) + 194 01d8 FF17 call \(%edi\) +.*Warning:.* + 195 01da FF1CBD00 000000 lcall \*xxx\(,%edi,4\) + 196 01e1 FF1CBD00 000000 lcall xxx\(,%edi,4\) +.*Warning:.* + 197 01e8 FF1D0000 0000 lcall \*xxx + 198 01ee FF1D0000 0000 lcall xxx\(,1\) +.*Warning:.* + 199 01f4 9A000000 003412 lcall \$0x1234,\$xxx + 200 + 201 # Force a good alignment. + 202 01fb 00000000 00 .p2align 4,0 diff --git a/gas/testsuite/gas/i386/general.s b/gas/testsuite/gas/i386/general.s index c794157..8d08dbf 100644 --- a/gas/testsuite/gas/i386/general.s +++ b/gas/testsuite/gas/i386/general.s @@ -61,9 +61,23 @@ inb $255 inw $2 inl $4 - outl %eax,%dx - out %al, $42 in $13, %ax + out %al,%dx + out %ax,%dx + out %eax,%dx + out %al,(%dx) + out %ax,(%dx) + out %eax,(%dx) + outb %al,%dx + outw %ax,%dx + outl %eax,%dx + outb %dx + outw %dx + outl %dx + outb $255 + outw $2 + outl $4 + out %ax, $13 # These are used in AIX. inw (%dx) outw (%dx) diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index a431bb6..13ac8ef 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -23,6 +23,7 @@ if [istarget "i*86-*-*"] then { run_list_test "modrm" "-al --listing-lhs-width=2" run_dump_test "naked" run_dump_test "opcode" + run_dump_test "intel" run_dump_test "prefix" run_dump_test "amd" run_dump_test "katmai" diff --git a/gas/testsuite/gas/i386/intel.d b/gas/testsuite/gas/i386/intel.d new file mode 100644 index 0000000..76f0f8a --- /dev/null +++ b/gas/testsuite/gas/i386/intel.d @@ -0,0 +1,574 @@ +#as: -J +#objdump: -dw +#name: i386 intel + +.*: +file format .* + +Disassembly of section .text: + +0+000 <foo>: + 0: 00 90 90 90 90 90 [ ]*add %dl,0x90909090\(%eax\) + 6: 01 90 90 90 90 90 [ ]*add %edx,0x90909090\(%eax\) + c: 02 90 90 90 90 90 [ ]*add 0x90909090\(%eax\),%dl + 12: 03 90 90 90 90 90 [ ]*add 0x90909090\(%eax\),%edx + 18: 04 90 [ ]*add \$0x90,%al + 1a: 05 90 90 90 90 [ ]*add \$0x90909090,%eax + 1f: 06 [ ]*push %es + 20: 07 [ ]*pop %es + 21: 08 90 90 90 90 90 [ ]*or %dl,0x90909090\(%eax\) + 27: 09 90 90 90 90 90 [ ]*or %edx,0x90909090\(%eax\) + 2d: 0a 90 90 90 90 90 [ ]*or 0x90909090\(%eax\),%dl + 33: 0b 90 90 90 90 90 [ ]*or 0x90909090\(%eax\),%edx + 39: 0c 90 [ ]*or \$0x90,%al + 3b: 0d 90 90 90 90 [ ]*or \$0x90909090,%eax + 40: 0e [ ]*push %cs + 41: 10 90 90 90 90 90 [ ]*adc %dl,0x90909090\(%eax\) + 47: 11 90 90 90 90 90 [ ]*adc %edx,0x90909090\(%eax\) + 4d: 12 90 90 90 90 90 [ ]*adc 0x90909090\(%eax\),%dl + 53: 13 90 90 90 90 90 [ ]*adc 0x90909090\(%eax\),%edx + 59: 14 90 [ ]*adc \$0x90,%al + 5b: 15 90 90 90 90 [ ]*adc \$0x90909090,%eax + 60: 16 [ ]*push %ss + 61: 17 [ ]*pop %ss + 62: 18 90 90 90 90 90 [ ]*sbb %dl,0x90909090\(%eax\) + 68: 19 90 90 90 90 90 [ ]*sbb %edx,0x90909090\(%eax\) + 6e: 1a 90 90 90 90 90 [ ]*sbb 0x90909090\(%eax\),%dl + 74: 1b 90 90 90 90 90 [ ]*sbb 0x90909090\(%eax\),%edx + 7a: 1c 90 [ ]*sbb \$0x90,%al + 7c: 1d 90 90 90 90 [ ]*sbb \$0x90909090,%eax + 81: 1e [ ]*push %ds + 82: 1f [ ]*pop %ds + 83: 20 90 90 90 90 90 [ ]*and %dl,0x90909090\(%eax\) + 89: 21 90 90 90 90 90 [ ]*and %edx,0x90909090\(%eax\) + 8f: 22 90 90 90 90 90 [ ]*and 0x90909090\(%eax\),%dl + 95: 23 90 90 90 90 90 [ ]*and 0x90909090\(%eax\),%edx + 9b: 24 90 [ ]*and \$0x90,%al + 9d: 25 90 90 90 90 [ ]*and \$0x90909090,%eax + a2: 27 [ ]*daa + a3: 28 90 90 90 90 90 [ ]*sub %dl,0x90909090\(%eax\) + a9: 29 90 90 90 90 90 [ ]*sub %edx,0x90909090\(%eax\) + af: 2a 90 90 90 90 90 [ ]*sub 0x90909090\(%eax\),%dl + b5: 2b 90 90 90 90 90 [ ]*sub 0x90909090\(%eax\),%edx + bb: 2c 90 [ ]*sub \$0x90,%al + bd: 2d 90 90 90 90 [ ]*sub \$0x90909090,%eax + c2: 2f [ ]*das + c3: 30 90 90 90 90 90 [ ]*xor %dl,0x90909090\(%eax\) + c9: 31 90 90 90 90 90 [ ]*xor %edx,0x90909090\(%eax\) + cf: 32 90 90 90 90 90 [ ]*xor 0x90909090\(%eax\),%dl + d5: 33 90 90 90 90 90 [ ]*xor 0x90909090\(%eax\),%edx + db: 34 90 [ ]*xor \$0x90,%al + dd: 35 90 90 90 90 [ ]*xor \$0x90909090,%eax + e2: 37 [ ]*aaa + e3: 38 90 90 90 90 90 [ ]*cmp %dl,0x90909090\(%eax\) + e9: 39 90 90 90 90 90 [ ]*cmp %edx,0x90909090\(%eax\) + ef: 3a 90 90 90 90 90 [ ]*cmp 0x90909090\(%eax\),%dl + f5: 3b 90 90 90 90 90 [ ]*cmp 0x90909090\(%eax\),%edx + fb: 3c 90 [ ]*cmp \$0x90,%al + fd: 3d 90 90 90 90 [ ]*cmp \$0x90909090,%eax + 102: 3f [ ]*aas + 103: 40 [ ]*inc %eax + 104: 41 [ ]*inc %ecx + 105: 42 [ ]*inc %edx + 106: 43 [ ]*inc %ebx + 107: 44 [ ]*inc %esp + 108: 45 [ ]*inc %ebp + 109: 46 [ ]*inc %esi + 10a: 47 [ ]*inc %edi + 10b: 48 [ ]*dec %eax + 10c: 49 [ ]*dec %ecx + 10d: 4a [ ]*dec %edx + 10e: 4b [ ]*dec %ebx + 10f: 4c [ ]*dec %esp + 110: 4d [ ]*dec %ebp + 111: 4e [ ]*dec %esi + 112: 4f [ ]*dec %edi + 113: 50 [ ]*push %eax + 114: 51 [ ]*push %ecx + 115: 52 [ ]*push %edx + 116: 53 [ ]*push %ebx + 117: 54 [ ]*push %esp + 118: 55 [ ]*push %ebp + 119: 56 [ ]*push %esi + 11a: 57 [ ]*push %edi + 11b: 58 [ ]*pop %eax + 11c: 59 [ ]*pop %ecx + 11d: 5a [ ]*pop %edx + 11e: 5b [ ]*pop %ebx + 11f: 5c [ ]*pop %esp + 120: 5d [ ]*pop %ebp + 121: 5e [ ]*pop %esi + 122: 5f [ ]*pop %edi + 123: 60 [ ]*pusha + 124: 61 [ ]*popa + 125: 62 90 90 90 90 90 [ ]*bound %edx,0x90909090\(%eax\) + 12b: 63 90 90 90 90 90 [ ]*arpl %dx,0x90909090\(%eax\) + 131: 68 90 90 90 90 [ ]*push \$0x90909090 + 136: 69 90 90 90 90 90 90 90 90 90 [ ]*imul \$0x90909090,0x90909090\(%eax\),%edx + 140: 6a 90 [ ]*push \$0xffffff90 + 142: 6b 90 90 90 90 90 90 [ ]*imul \$0xffffff90,0x90909090\(%eax\),%edx + 149: 6c [ ]*insb \(%dx\),%es:\(%edi\) + 14a: 6d [ ]*insl \(%dx\),%es:\(%edi\) + 14b: 6e [ ]*outsb %ds:\(%esi\),\(%dx\) + 14c: 6f [ ]*outsl %ds:\(%esi\),\(%dx\) + 14d: 70 90 [ ]*jo (0x)?df.* + 14f: 71 90 [ ]*jno (0x)?e1.* + 151: 72 90 [ ]*jb (0x)?e3.* + 153: 73 90 [ ]*jae (0x)?e5.* + 155: 74 90 [ ]*je (0x)?e7.* + 157: 75 90 [ ]*jne (0x)?e9.* + 159: 76 90 [ ]*jbe (0x)?eb.* + 15b: 77 90 [ ]*ja (0x)?ed.* + 15d: 78 90 [ ]*js (0x)?ef.* + 15f: 79 90 [ ]*jns (0x)?f1.* + 161: 7a 90 [ ]*jp (0x)?f3.* + 163: 7b 90 [ ]*jnp (0x)?f5.* + 165: 7c 90 [ ]*jl (0x)?f7.* + 167: 7d 90 [ ]*jge (0x)?f9.* + 169: 7e 90 [ ]*jle (0x)?fb.* + 16b: 7f 90 [ ]*jg (0x)?fd.* + 16d: 80 90 90 90 90 90 90 [ ]*adcb \$0x90,0x90909090\(%eax\) + 174: 81 90 90 90 90 90 90 90 90 90 [ ]*adcl \$0x90909090,0x90909090\(%eax\) + 17e: 83 90 90 90 90 90 90 [ ]*adcl \$0xffffff90,0x90909090\(%eax\) + 185: 84 90 90 90 90 90 [ ]*test %dl,0x90909090\(%eax\) + 18b: 85 90 90 90 90 90 [ ]*test %edx,0x90909090\(%eax\) + 191: 86 90 90 90 90 90 [ ]*xchg %dl,0x90909090\(%eax\) + 197: 87 90 90 90 90 90 [ ]*xchg %edx,0x90909090\(%eax\) + 19d: 88 90 90 90 90 90 [ ]*mov %dl,0x90909090\(%eax\) + 1a3: 89 90 90 90 90 90 [ ]*mov %edx,0x90909090\(%eax\) + 1a9: 8a 90 90 90 90 90 [ ]*mov 0x90909090\(%eax\),%dl + 1af: 8b 90 90 90 90 90 [ ]*mov 0x90909090\(%eax\),%edx + 1b5: 8c 90 90 90 90 90 [ ]*movl %ss,0x90909090\(%eax\) + 1bb: 8d 90 90 90 90 90 [ ]*lea 0x90909090\(%eax\),%edx + 1c1: 8e 90 90 90 90 90 [ ]*movl 0x90909090\(%eax\),%ss + 1c7: 8f 80 90 90 90 90 [ ]*popl 0x90909090\(%eax\) + 1cd: 90 [ ]*nop + 1ce: 91 [ ]*xchg %eax,%ecx + 1cf: 92 [ ]*xchg %eax,%edx + 1d0: 93 [ ]*xchg %eax,%ebx + 1d1: 94 [ ]*xchg %eax,%esp + 1d2: 95 [ ]*xchg %eax,%ebp + 1d3: 96 [ ]*xchg %eax,%esi + 1d4: 97 [ ]*xchg %eax,%edi + 1d5: 98 [ ]*cwtl + 1d6: 99 [ ]*cltd + 1d7: 9a 90 90 90 90 90 90 [ ]*lcall \$0x9090,\$0x90909090 + 1de: 9b [ ]*fwait + 1df: 9c [ ]*pushf + 1e0: 9d [ ]*popf + 1e1: 9e [ ]*sahf + 1e2: 9f [ ]*lahf + 1e3: a0 90 90 90 90 [ ]*mov 0x90909090,%al + 1e8: a1 90 90 90 90 [ ]*mov 0x90909090,%eax + 1ed: a2 90 90 90 90 [ ]*mov %al,0x90909090 + 1f2: a3 90 90 90 90 [ ]*mov %eax,0x90909090 + 1f7: a4 [ ]*movsb %ds:\(%esi\),%es:\(%edi\) + 1f8: a5 [ ]*movsl %ds:\(%esi\),%es:\(%edi\) + 1f9: a6 [ ]*cmpsb %es:\(%edi\),%ds:\(%esi\) + 1fa: a7 [ ]*cmpsl %es:\(%edi\),%ds:\(%esi\) + 1fb: a8 90 [ ]*test \$0x90,%al + 1fd: a9 90 90 90 90 [ ]*test \$0x90909090,%eax + 202: aa [ ]*stos %al,%es:\(%edi\) + 203: ab [ ]*stos %eax,%es:\(%edi\) + 204: ac [ ]*lods %ds:\(%esi\),%al + 205: ad [ ]*lods %ds:\(%esi\),%eax + 206: ae [ ]*scas %es:\(%edi\),%al + 207: af [ ]*scas %es:\(%edi\),%eax + 208: b0 90 [ ]*mov \$0x90,%al + 20a: b1 90 [ ]*mov \$0x90,%cl + 20c: b2 90 [ ]*mov \$0x90,%dl + 20e: b3 90 [ ]*mov \$0x90,%bl + 210: b4 90 [ ]*mov \$0x90,%ah + 212: b5 90 [ ]*mov \$0x90,%ch + 214: b6 90 [ ]*mov \$0x90,%dh + 216: b7 90 [ ]*mov \$0x90,%bh + 218: b8 90 90 90 90 [ ]*mov \$0x90909090,%eax + 21d: b9 90 90 90 90 [ ]*mov \$0x90909090,%ecx + 222: ba 90 90 90 90 [ ]*mov \$0x90909090,%edx + 227: bb 90 90 90 90 [ ]*mov \$0x90909090,%ebx + 22c: bc 90 90 90 90 [ ]*mov \$0x90909090,%esp + 231: bd 90 90 90 90 [ ]*mov \$0x90909090,%ebp + 236: be 90 90 90 90 [ ]*mov \$0x90909090,%esi + 23b: bf 90 90 90 90 [ ]*mov \$0x90909090,%edi + 240: c0 90 90 90 90 90 90 [ ]*rclb \$0x90,0x90909090\(%eax\) + 247: c1 90 90 90 90 90 90 [ ]*rcll \$0x90,0x90909090\(%eax\) + 24e: c2 90 90 [ ]*ret \$0x9090 + 251: c3 [ ]*ret + 252: c4 90 90 90 90 90 [ ]*les 0x90909090\(%eax\),%edx + 258: c5 90 90 90 90 90 [ ]*lds 0x90909090\(%eax\),%edx + 25e: c6 80 90 90 90 90 90 [ ]*movb \$0x90,0x90909090\(%eax\) + 265: c7 80 90 90 90 90 90 90 90 90 [ ]*movl \$0x90909090,0x90909090\(%eax\) + 26f: c8 90 90 90 [ ]*enter \$0x9090,\$0x90 + 273: c9 [ ]*leave + 274: ca 90 90 [ ]*lret \$0x9090 + 277: cb [ ]*lret + 278: cc [ ]*int3 + 279: cd 90 [ ]*int \$0x90 + 27b: ce [ ]*into + 27c: cf [ ]*iret + 27d: d0 90 90 90 90 90 [ ]*rclb 0x90909090\(%eax\) + 283: d1 90 90 90 90 90 [ ]*rcll 0x90909090\(%eax\) + 289: d2 90 90 90 90 90 [ ]*rclb %cl,0x90909090\(%eax\) + 28f: d3 90 90 90 90 90 [ ]*rcll %cl,0x90909090\(%eax\) + 295: d4 90 [ ]*aam \$0xffffff90 + 297: d5 90 [ ]*aad \$0xffffff90 + 299: d7 [ ]*xlat %ds:\(%ebx\) + 29a: d8 90 90 90 90 90 [ ]*fcoms 0x90909090\(%eax\) + 2a0: d9 90 90 90 90 90 [ ]*fsts 0x90909090\(%eax\) + 2a6: da 90 90 90 90 90 [ ]*ficoml 0x90909090\(%eax\) + 2ac: db 90 90 90 90 90 [ ]*fistl 0x90909090\(%eax\) + 2b2: dc 90 90 90 90 90 [ ]*fcoml 0x90909090\(%eax\) + 2b8: dd 90 90 90 90 90 [ ]*fstl 0x90909090\(%eax\) + 2be: de 90 90 90 90 90 [ ]*ficom 0x90909090\(%eax\) + 2c4: df 90 90 90 90 90 [ ]*fist 0x90909090\(%eax\) + 2ca: e0 90 [ ]*loopne (0x)?25c.* + 2cc: e1 90 [ ]*loope (0x)?25e.* + 2ce: e2 90 [ ]*loop (0x)?260.* + 2d0: e3 90 [ ]*jecxz (0x)?262.* + 2d2: e4 90 [ ]*in \$0x90,%al + 2d4: e5 90 [ ]*in \$0x90,%eax + 2d6: e6 90 [ ]*out %al,\$0x90 + 2d8: e7 90 [ ]*out %eax,\$0x90 + 2da: e8 90 90 90 90 [ ]*call (0x)?9090936f.* + 2df: e9 90 90 90 90 [ ]*jmp (0x)?90909374.* + 2e4: ea 90 90 90 90 90 90 [ ]*ljmp \$0x9090,\$0x90909090 + 2eb: eb 90 [ ]*jmp (0x)?27d.* + 2ed: ec [ ]*in \(%dx\),%al + 2ee: ed [ ]*in \(%dx\),%eax + 2ef: ee [ ]*out %al,\(%dx\) + 2f0: ef [ ]*out %eax,\(%dx\) + 2f1: f4 [ ]*hlt + 2f2: f5 [ ]*cmc + 2f3: f6 90 90 90 90 90 [ ]*notb 0x90909090\(%eax\) + 2f9: f7 90 90 90 90 90 [ ]*notl 0x90909090\(%eax\) + 2ff: f8 [ ]*clc + 300: f9 [ ]*stc + 301: fa [ ]*cli + 302: fb [ ]*sti + 303: fc [ ]*cld + 304: fd [ ]*std + 305: ff 90 90 90 90 90 [ ]*call \*0x90909090\(%eax\) + 30b: 0f 00 90 90 90 90 90 [ ]*lldt 0x90909090\(%eax\) + 312: 0f 01 90 90 90 90 90 [ ]*lgdt 0x90909090\(%eax\) + 319: 0f 02 90 90 90 90 90 [ ]*lar 0x90909090\(%eax\),%edx + 320: 0f 03 90 90 90 90 90 [ ]*lsl 0x90909090\(%eax\),%edx + 327: 0f 06 [ ]*clts + 329: 0f 08 [ ]*invd + 32b: 0f 09 [ ]*wbinvd + 32d: 0f 0b [ ]*ud2a + 32f: 0f 20 d0 [ ]*mov %cr2,%eax + 332: 0f 21 d0 [ ]*mov %db2,%eax + 335: 0f 22 d0 [ ]*mov %eax,%cr2 + 338: 0f 23 d0 [ ]*mov %eax,%db2 + 33b: 0f 24 d0 [ ]*mov %tr2,%eax + 33e: 0f 26 d0 [ ]*mov %eax,%tr2 + 341: 0f 30 [ ]*wrmsr + 343: 0f 31 [ ]*rdtsc + 345: 0f 32 [ ]*rdmsr + 347: 0f 33 [ ]*rdpmc + 349: 0f 40 90 90 90 90 90 [ ]*cmovo 0x90909090\(%eax\),%edx + 350: 0f 41 90 90 90 90 90 [ ]*cmovno 0x90909090\(%eax\),%edx + 357: 0f 42 90 90 90 90 90 [ ]*cmovb 0x90909090\(%eax\),%edx + 35e: 0f 43 90 90 90 90 90 [ ]*cmovae 0x90909090\(%eax\),%edx + 365: 0f 44 90 90 90 90 90 [ ]*cmove 0x90909090\(%eax\),%edx + 36c: 0f 45 90 90 90 90 90 [ ]*cmovne 0x90909090\(%eax\),%edx + 373: 0f 46 90 90 90 90 90 [ ]*cmovbe 0x90909090\(%eax\),%edx + 37a: 0f 47 90 90 90 90 90 [ ]*cmova 0x90909090\(%eax\),%edx + 381: 0f 48 90 90 90 90 90 [ ]*cmovs 0x90909090\(%eax\),%edx + 388: 0f 49 90 90 90 90 90 [ ]*cmovns 0x90909090\(%eax\),%edx + 38f: 0f 4a 90 90 90 90 90 [ ]*cmovp 0x90909090\(%eax\),%edx + 396: 0f 4b 90 90 90 90 90 [ ]*cmovnp 0x90909090\(%eax\),%edx + 39d: 0f 4c 90 90 90 90 90 [ ]*cmovl 0x90909090\(%eax\),%edx + 3a4: 0f 4d 90 90 90 90 90 [ ]*cmovge 0x90909090\(%eax\),%edx + 3ab: 0f 4e 90 90 90 90 90 [ ]*cmovle 0x90909090\(%eax\),%edx + 3b2: 0f 4f 90 90 90 90 90 [ ]*cmovg 0x90909090\(%eax\),%edx + 3b9: 0f 60 90 90 90 90 90 [ ]*punpcklbw 0x90909090\(%eax\),%mm2 + 3c0: 0f 61 90 90 90 90 90 [ ]*punpcklwd 0x90909090\(%eax\),%mm2 + 3c7: 0f 62 90 90 90 90 90 [ ]*punpckldq 0x90909090\(%eax\),%mm2 + 3ce: 0f 63 90 90 90 90 90 [ ]*packsswb 0x90909090\(%eax\),%mm2 + 3d5: 0f 64 90 90 90 90 90 [ ]*pcmpgtb 0x90909090\(%eax\),%mm2 + 3dc: 0f 65 90 90 90 90 90 [ ]*pcmpgtw 0x90909090\(%eax\),%mm2 + 3e3: 0f 66 90 90 90 90 90 [ ]*pcmpgtd 0x90909090\(%eax\),%mm2 + 3ea: 0f 67 90 90 90 90 90 [ ]*packuswb 0x90909090\(%eax\),%mm2 + 3f1: 0f 68 90 90 90 90 90 [ ]*punpckhbw 0x90909090\(%eax\),%mm2 + 3f8: 0f 69 90 90 90 90 90 [ ]*punpckhwd 0x90909090\(%eax\),%mm2 + 3ff: 0f 6a 90 90 90 90 90 [ ]*punpckhdq 0x90909090\(%eax\),%mm2 + 406: 0f 6b 90 90 90 90 90 [ ]*packssdw 0x90909090\(%eax\),%mm2 + 40d: 0f 6e 90 90 90 90 90 [ ]*movd 0x90909090\(%eax\),%mm2 + 414: 0f 6f 90 90 90 90 90 [ ]*movq 0x90909090\(%eax\),%mm2 + 41b: 0f 71 d0 90 [ ]*psrlw \$0x90,%mm0 + 41f: 0f 72 d0 90 [ ]*psrld \$0x90,%mm0 + 423: 0f 73 d0 90 [ ]*psrlq \$0x90,%mm0 + 427: 0f 74 90 90 90 90 90 [ ]*pcmpeqb 0x90909090\(%eax\),%mm2 + 42e: 0f 75 90 90 90 90 90 [ ]*pcmpeqw 0x90909090\(%eax\),%mm2 + 435: 0f 76 90 90 90 90 90 [ ]*pcmpeqd 0x90909090\(%eax\),%mm2 + 43c: 0f 77 [ ]*emms + 43e: 0f 7e 90 90 90 90 90 [ ]*movd %mm2,0x90909090\(%eax\) + 445: 0f 7f 90 90 90 90 90 [ ]*movq %mm2,0x90909090\(%eax\) + 44c: 0f 80 90 90 90 90 [ ]*jo (0x)?909094e2.* + 452: 0f 81 90 90 90 90 [ ]*jno (0x)?909094e8.* + 458: 0f 82 90 90 90 90 [ ]*jb (0x)?909094ee.* + 45e: 0f 83 90 90 90 90 [ ]*jae (0x)?909094f4.* + 464: 0f 84 90 90 90 90 [ ]*je (0x)?909094fa.* + 46a: 0f 85 90 90 90 90 [ ]*jne (0x)?90909500.* + 470: 0f 86 90 90 90 90 [ ]*jbe (0x)?90909506.* + 476: 0f 87 90 90 90 90 [ ]*ja (0x)?9090950c.* + 47c: 0f 88 90 90 90 90 [ ]*js (0x)?90909512.* + 482: 0f 89 90 90 90 90 [ ]*jns (0x)?90909518.* + 488: 0f 8a 90 90 90 90 [ ]*jp (0x)?9090951e.* + 48e: 0f 8b 90 90 90 90 [ ]*jnp (0x)?90909524.* + 494: 0f 8c 90 90 90 90 [ ]*jl (0x)?9090952a.* + 49a: 0f 8d 90 90 90 90 [ ]*jge (0x)?90909530.* + 4a0: 0f 8e 90 90 90 90 [ ]*jle (0x)?90909536.* + 4a6: 0f 8f 90 90 90 90 [ ]*jg (0x)?9090953c.* + 4ac: 0f 90 80 90 90 90 90 [ ]*seto 0x90909090\(%eax\) + 4b3: 0f 91 80 90 90 90 90 [ ]*setno 0x90909090\(%eax\) + 4ba: 0f 92 80 90 90 90 90 [ ]*setb 0x90909090\(%eax\) + 4c1: 0f 93 80 90 90 90 90 [ ]*setae 0x90909090\(%eax\) + 4c8: 0f 94 80 90 90 90 90 [ ]*sete 0x90909090\(%eax\) + 4cf: 0f 95 80 90 90 90 90 [ ]*setne 0x90909090\(%eax\) + 4d6: 0f 96 80 90 90 90 90 [ ]*setbe 0x90909090\(%eax\) + 4dd: 0f 97 80 90 90 90 90 [ ]*seta 0x90909090\(%eax\) + 4e4: 0f 98 80 90 90 90 90 [ ]*sets 0x90909090\(%eax\) + 4eb: 0f 99 80 90 90 90 90 [ ]*setns 0x90909090\(%eax\) + 4f2: 0f 9a 80 90 90 90 90 [ ]*setp 0x90909090\(%eax\) + 4f9: 0f 9b 80 90 90 90 90 [ ]*setnp 0x90909090\(%eax\) + 500: 0f 9c 80 90 90 90 90 [ ]*setl 0x90909090\(%eax\) + 507: 0f 9d 80 90 90 90 90 [ ]*setge 0x90909090\(%eax\) + 50e: 0f 9e 80 90 90 90 90 [ ]*setle 0x90909090\(%eax\) + 515: 0f 9f 80 90 90 90 90 [ ]*setg 0x90909090\(%eax\) + 51c: 0f a0 [ ]*push %fs + 51e: 0f a1 [ ]*pop %fs + 520: 0f a2 [ ]*cpuid + 522: 0f a3 90 90 90 90 90 [ ]*bt %edx,0x90909090\(%eax\) + 529: 0f a4 90 90 90 90 90 90 [ ]*shld \$0x90,%edx,0x90909090\(%eax\) + 531: 0f a5 90 90 90 90 90 [ ]*shld %cl,%edx,0x90909090\(%eax\) + 538: 0f a8 [ ]*push %gs + 53a: 0f a9 [ ]*pop %gs + 53c: 0f aa [ ]*rsm + 53e: 0f ab 90 90 90 90 90 [ ]*bts %edx,0x90909090\(%eax\) + 545: 0f ac 90 90 90 90 90 90 [ ]*shrd \$0x90,%edx,0x90909090\(%eax\) + 54d: 0f ad 90 90 90 90 90 [ ]*shrd %cl,%edx,0x90909090\(%eax\) + 554: 0f af 90 90 90 90 90 [ ]*imul 0x90909090\(%eax\),%edx + 55b: 0f b0 90 90 90 90 90 [ ]*cmpxchg %dl,0x90909090\(%eax\) + 562: 0f b1 90 90 90 90 90 [ ]*cmpxchg %edx,0x90909090\(%eax\) + 569: 0f b2 90 90 90 90 90 [ ]*lss 0x90909090\(%eax\),%edx + 570: 0f b3 90 90 90 90 90 [ ]*btr %edx,0x90909090\(%eax\) + 577: 0f b4 90 90 90 90 90 [ ]*lfs 0x90909090\(%eax\),%edx + 57e: 0f b5 90 90 90 90 90 [ ]*lgs 0x90909090\(%eax\),%edx + 585: 0f b6 90 90 90 90 90 [ ]*movzbl 0x90909090\(%eax\),%edx + 58c: 0f b7 90 90 90 90 90 [ ]*movzwl 0x90909090\(%eax\),%edx + 593: 0f b9 [ ]*ud2b + 595: 0f bb 90 90 90 90 90 [ ]*btc %edx,0x90909090\(%eax\) + 59c: 0f bc 90 90 90 90 90 [ ]*bsf 0x90909090\(%eax\),%edx + 5a3: 0f bd 90 90 90 90 90 [ ]*bsr 0x90909090\(%eax\),%edx + 5aa: 0f be 90 90 90 90 90 [ ]*movsbl 0x90909090\(%eax\),%edx + 5b1: 0f bf 90 90 90 90 90 [ ]*movswl 0x90909090\(%eax\),%edx + 5b8: 0f c0 90 90 90 90 90 [ ]*xadd %dl,0x90909090\(%eax\) + 5bf: 0f c1 90 90 90 90 90 [ ]*xadd %edx,0x90909090\(%eax\) + 5c6: 0f c8 [ ]*bswap %eax + 5c8: 0f c9 [ ]*bswap %ecx + 5ca: 0f ca [ ]*bswap %edx + 5cc: 0f cb [ ]*bswap %ebx + 5ce: 0f cc [ ]*bswap %esp + 5d0: 0f cd [ ]*bswap %ebp + 5d2: 0f ce [ ]*bswap %esi + 5d4: 0f cf [ ]*bswap %edi + 5d6: 0f d1 90 90 90 90 90 [ ]*psrlw 0x90909090\(%eax\),%mm2 + 5dd: 0f d2 90 90 90 90 90 [ ]*psrld 0x90909090\(%eax\),%mm2 + 5e4: 0f d3 90 90 90 90 90 [ ]*psrlq 0x90909090\(%eax\),%mm2 + 5eb: 0f d5 90 90 90 90 90 [ ]*pmullw 0x90909090\(%eax\),%mm2 + 5f2: 0f d8 90 90 90 90 90 [ ]*psubusb 0x90909090\(%eax\),%mm2 + 5f9: 0f d9 90 90 90 90 90 [ ]*psubusw 0x90909090\(%eax\),%mm2 + 600: 0f db 90 90 90 90 90 [ ]*pand 0x90909090\(%eax\),%mm2 + 607: 0f dc 90 90 90 90 90 [ ]*paddusb 0x90909090\(%eax\),%mm2 + 60e: 0f dd 90 90 90 90 90 [ ]*paddusw 0x90909090\(%eax\),%mm2 + 615: 0f df 90 90 90 90 90 [ ]*pandn 0x90909090\(%eax\),%mm2 + 61c: 0f e1 90 90 90 90 90 [ ]*psraw 0x90909090\(%eax\),%mm2 + 623: 0f e2 90 90 90 90 90 [ ]*psrad 0x90909090\(%eax\),%mm2 + 62a: 0f e5 90 90 90 90 90 [ ]*pmulhw 0x90909090\(%eax\),%mm2 + 631: 0f e8 90 90 90 90 90 [ ]*psubsb 0x90909090\(%eax\),%mm2 + 638: 0f e9 90 90 90 90 90 [ ]*psubsw 0x90909090\(%eax\),%mm2 + 63f: 0f eb 90 90 90 90 90 [ ]*por 0x90909090\(%eax\),%mm2 + 646: 0f ec 90 90 90 90 90 [ ]*paddsb 0x90909090\(%eax\),%mm2 + 64d: 0f ed 90 90 90 90 90 [ ]*paddsw 0x90909090\(%eax\),%mm2 + 654: 0f ef 90 90 90 90 90 [ ]*pxor 0x90909090\(%eax\),%mm2 + 65b: 0f f1 90 90 90 90 90 [ ]*psllw 0x90909090\(%eax\),%mm2 + 662: 0f f2 90 90 90 90 90 [ ]*pslld 0x90909090\(%eax\),%mm2 + 669: 0f f3 90 90 90 90 90 [ ]*psllq 0x90909090\(%eax\),%mm2 + 670: 0f f5 90 90 90 90 90 [ ]*pmaddwd 0x90909090\(%eax\),%mm2 + 677: 0f f8 90 90 90 90 90 [ ]*psubb 0x90909090\(%eax\),%mm2 + 67e: 0f f9 90 90 90 90 90 [ ]*psubw 0x90909090\(%eax\),%mm2 + 685: 0f fa 90 90 90 90 90 [ ]*psubd 0x90909090\(%eax\),%mm2 + 68c: 0f fc 90 90 90 90 90 [ ]*paddb 0x90909090\(%eax\),%mm2 + 693: 0f fd 90 90 90 90 90 [ ]*paddw 0x90909090\(%eax\),%mm2 + 69a: 0f fe 90 90 90 90 90 [ ]*paddd 0x90909090\(%eax\),%mm2 + 6a1: 66 01 90 90 90 90 90 [ ]*add %dx,0x90909090\(%eax\) + 6a8: 66 03 90 90 90 90 90 [ ]*add 0x90909090\(%eax\),%dx + 6af: 66 05 90 90 [ ]*add \$0x9090,%ax + 6b3: 66 06 [ ]*pushw %es + 6b5: 66 07 [ ]*popw %es + 6b7: 66 09 90 90 90 90 90 [ ]*or %dx,0x90909090\(%eax\) + 6be: 66 0b 90 90 90 90 90 [ ]*or 0x90909090\(%eax\),%dx + 6c5: 66 0d 90 90 [ ]*or \$0x9090,%ax + 6c9: 66 0e [ ]*pushw %cs + 6cb: 66 11 90 90 90 90 90 [ ]*adc %dx,0x90909090\(%eax\) + 6d2: 66 13 90 90 90 90 90 [ ]*adc 0x90909090\(%eax\),%dx + 6d9: 66 15 90 90 [ ]*adc \$0x9090,%ax + 6dd: 66 16 [ ]*pushw %ss + 6df: 66 17 [ ]*popw %ss + 6e1: 66 19 90 90 90 90 90 [ ]*sbb %dx,0x90909090\(%eax\) + 6e8: 66 1b 90 90 90 90 90 [ ]*sbb 0x90909090\(%eax\),%dx + 6ef: 66 1d 90 90 [ ]*sbb \$0x9090,%ax + 6f3: 66 1e [ ]*pushw %ds + 6f5: 66 1f [ ]*popw %ds + 6f7: 66 21 90 90 90 90 90 [ ]*and %dx,0x90909090\(%eax\) + 6fe: 66 23 90 90 90 90 90 [ ]*and 0x90909090\(%eax\),%dx + 705: 66 25 90 90 [ ]*and \$0x9090,%ax + 709: 66 29 90 90 90 90 90 [ ]*sub %dx,0x90909090\(%eax\) + 710: 66 2b 90 90 90 90 90 [ ]*sub 0x90909090\(%eax\),%dx + 717: 66 2d 90 90 [ ]*sub \$0x9090,%ax + 71b: 66 31 90 90 90 90 90 [ ]*xor %dx,0x90909090\(%eax\) + 722: 66 33 90 90 90 90 90 [ ]*xor 0x90909090\(%eax\),%dx + 729: 66 35 90 90 [ ]*xor \$0x9090,%ax + 72d: 66 39 90 90 90 90 90 [ ]*cmp %dx,0x90909090\(%eax\) + 734: 66 3b 90 90 90 90 90 [ ]*cmp 0x90909090\(%eax\),%dx + 73b: 66 3d 90 90 [ ]*cmp \$0x9090,%ax + 73f: 66 40 [ ]*inc %ax + 741: 66 41 [ ]*inc %cx + 743: 66 42 [ ]*inc %dx + 745: 66 43 [ ]*inc %bx + 747: 66 44 [ ]*inc %sp + 749: 66 45 [ ]*inc %bp + 74b: 66 46 [ ]*inc %si + 74d: 66 47 [ ]*inc %di + 74f: 66 48 [ ]*dec %ax + 751: 66 49 [ ]*dec %cx + 753: 66 4a [ ]*dec %dx + 755: 66 4b [ ]*dec %bx + 757: 66 4c [ ]*dec %sp + 759: 66 4d [ ]*dec %bp + 75b: 66 4e [ ]*dec %si + 75d: 66 4f [ ]*dec %di + 75f: 66 50 [ ]*push %ax + 761: 66 51 [ ]*push %cx + 763: 66 52 [ ]*push %dx + 765: 66 53 [ ]*push %bx + 767: 66 54 [ ]*push %sp + 769: 66 55 [ ]*push %bp + 76b: 66 56 [ ]*push %si + 76d: 66 57 [ ]*push %di + 76f: 66 58 [ ]*pop %ax + 771: 66 59 [ ]*pop %cx + 773: 66 5a [ ]*pop %dx + 775: 66 5b [ ]*pop %bx + 777: 66 5c [ ]*pop %sp + 779: 66 5d [ ]*pop %bp + 77b: 66 5e [ ]*pop %si + 77d: 66 5f [ ]*pop %di + 77f: 66 60 [ ]*pushaw + 781: 66 61 [ ]*popaw + 783: 66 62 90 90 90 90 90 [ ]*bound %dx,0x90909090\(%eax\) + 78a: 66 68 90 90 [ ]*pushw \$0x9090 + 78e: 66 69 90 90 90 90 90 90 90 [ ]*imul \$0x9090,0x90909090\(%eax\),%dx + 797: 66 6a 90 [ ]*pushw \$0xffffff90 + 79a: 66 6b 90 90 90 90 90 90 [ ]*imul \$0xffffff90,0x90909090\(%eax\),%dx + 7a2: 66 6d [ ]*insw \(%dx\),%es:\(%edi\) + 7a4: 66 6f [ ]*outsw %ds:\(%esi\),\(%dx\) + 7a6: 66 81 90 90 90 90 90 90 90 [ ]*adcw \$0x9090,0x90909090\(%eax\) + 7af: 66 83 90 90 90 90 90 90 [ ]*adcw \$0xffffff90,0x90909090\(%eax\) + 7b7: 66 85 90 90 90 90 90 [ ]*test %dx,0x90909090\(%eax\) + 7be: 66 87 90 90 90 90 90 [ ]*xchg %dx,0x90909090\(%eax\) + 7c5: 66 89 90 90 90 90 90 [ ]*mov %dx,0x90909090\(%eax\) + 7cc: 66 8b 90 90 90 90 90 [ ]*mov 0x90909090\(%eax\),%dx + 7d3: 66 8c 90 90 90 90 90 [ ]*movw %ss,0x90909090\(%eax\) + 7da: 66 8d 90 90 90 90 90 [ ]*lea 0x90909090\(%eax\),%dx + 7e1: 66 8f 80 90 90 90 90 [ ]*popw 0x90909090\(%eax\) + 7e8: 66 91 [ ]*xchg %ax,%cx + 7ea: 66 92 [ ]*xchg %ax,%dx + 7ec: 66 93 [ ]*xchg %ax,%bx + 7ee: 66 94 [ ]*xchg %ax,%sp + 7f0: 66 95 [ ]*xchg %ax,%bp + 7f2: 66 96 [ ]*xchg %ax,%si + 7f4: 66 97 [ ]*xchg %ax,%di + 7f6: 66 98 [ ]*cbtw + 7f8: 66 99 [ ]*cwtd + 7fa: 66 9a 90 90 90 90 [ ]*lcallw \$0x9090,\$0x9090 + 800: 66 9c [ ]*pushfw + 802: 66 9d [ ]*popfw + 804: 66 a1 90 90 90 90 [ ]*mov 0x90909090,%ax + 80a: 66 a3 90 90 90 90 [ ]*mov %ax,0x90909090 + 810: 66 a5 [ ]*movsw %ds:\(%esi\),%es:\(%edi\) + 812: 66 a7 [ ]*cmpsw %es:\(%edi\),%ds:\(%esi\) + 814: 66 a9 90 90 [ ]*test \$0x9090,%ax + 818: 66 ab [ ]*stos %ax,%es:\(%edi\) + 81a: 66 ad [ ]*lods %ds:\(%esi\),%ax + 81c: 66 af [ ]*scas %es:\(%edi\),%ax + 81e: 66 b8 90 90 [ ]*mov \$0x9090,%ax + 822: 66 b9 90 90 [ ]*mov \$0x9090,%cx + 826: 66 ba 90 90 [ ]*mov \$0x9090,%dx + 82a: 66 bb 90 90 [ ]*mov \$0x9090,%bx + 82e: 66 bc 90 90 [ ]*mov \$0x9090,%sp + 832: 66 bd 90 90 [ ]*mov \$0x9090,%bp + 836: 66 be 90 90 [ ]*mov \$0x9090,%si + 83a: 66 bf 90 90 [ ]*mov \$0x9090,%di + 83e: 66 c1 90 90 90 90 90 90 [ ]*rclw \$0x90,0x90909090\(%eax\) + 846: 66 c2 90 90 [ ]*retw \$0x9090 + 84a: 66 c3 [ ]*retw + 84c: 66 c4 90 90 90 90 90 [ ]*les 0x90909090\(%eax\),%dx + 853: 66 c5 90 90 90 90 90 [ ]*lds 0x90909090\(%eax\),%dx + 85a: 66 c7 80 90 90 90 90 90 90 [ ]*movw \$0x9090,0x90909090\(%eax\) + 863: 66 c8 90 90 90 [ ]*enterw \$0x9090,\$0x90 + 868: 66 c9 [ ]*leavew + 86a: 66 ca 90 90 [ ]*lretw \$0x9090 + 86e: 66 cb [ ]*lretw + 870: 66 cf [ ]*iretw + 872: 66 d1 90 90 90 90 90 [ ]*rclw 0x90909090\(%eax\) + 879: 66 d3 90 90 90 90 90 [ ]*rclw %cl,0x90909090\(%eax\) + 880: 66 e5 90 [ ]*in \$0x90,%ax + 883: 66 e7 90 [ ]*out %ax,\$0x90 + 886: 66 e8 8f 90 [ ]*callw (0x)?9919.* + 88a: 66 ea 90 90 90 90 [ ]*ljmpw \$0x9090,\$0x9090 + 890: 66 ed [ ]*in \(%dx\),%ax + 892: 66 ef [ ]*out %ax,\(%dx\) + 894: 66 f7 90 90 90 90 90 [ ]*notw 0x90909090\(%eax\) + 89b: 66 ff 90 90 90 90 90 [ ]*callw \*0x90909090\(%eax\) + 8a2: 66 0f 02 90 90 90 90 90 [ ]*lar 0x90909090\(%eax\),%dx + 8aa: 66 0f 03 90 90 90 90 90 [ ]*lsl 0x90909090\(%eax\),%dx + 8b2: 66 0f 40 90 90 90 90 90 [ ]*cmovo 0x90909090\(%eax\),%dx + 8ba: 66 0f 41 90 90 90 90 90 [ ]*cmovno 0x90909090\(%eax\),%dx + 8c2: 66 0f 42 90 90 90 90 90 [ ]*cmovb 0x90909090\(%eax\),%dx + 8ca: 66 0f 43 90 90 90 90 90 [ ]*cmovae 0x90909090\(%eax\),%dx + 8d2: 66 0f 44 90 90 90 90 90 [ ]*cmove 0x90909090\(%eax\),%dx + 8da: 66 0f 45 90 90 90 90 90 [ ]*cmovne 0x90909090\(%eax\),%dx + 8e2: 66 0f 46 90 90 90 90 90 [ ]*cmovbe 0x90909090\(%eax\),%dx + 8ea: 66 0f 47 90 90 90 90 90 [ ]*cmova 0x90909090\(%eax\),%dx + 8f2: 66 0f 48 90 90 90 90 90 [ ]*cmovs 0x90909090\(%eax\),%dx + 8fa: 66 0f 49 90 90 90 90 90 [ ]*cmovns 0x90909090\(%eax\),%dx + 902: 66 0f 4a 90 90 90 90 90 [ ]*cmovp 0x90909090\(%eax\),%dx + 90a: 66 0f 4b 90 90 90 90 90 [ ]*cmovnp 0x90909090\(%eax\),%dx + 912: 66 0f 4c 90 90 90 90 90 [ ]*cmovl 0x90909090\(%eax\),%dx + 91a: 66 0f 4d 90 90 90 90 90 [ ]*cmovge 0x90909090\(%eax\),%dx + 922: 66 0f 4e 90 90 90 90 90 [ ]*cmovle 0x90909090\(%eax\),%dx + 92a: 66 0f 4f 90 90 90 90 90 [ ]*cmovg 0x90909090\(%eax\),%dx + 932: 66 0f a0 [ ]*pushw %fs + 935: 66 0f a1 [ ]*popw %fs + 938: 66 0f a3 90 90 90 90 90 [ ]*bt %dx,0x90909090\(%eax\) + 940: 66 0f a4 90 90 90 90 90 90 [ ]*shld \$0x90,%dx,0x90909090\(%eax\) + 949: 66 0f a5 90 90 90 90 90 [ ]*shld %cl,%dx,0x90909090\(%eax\) + 951: 66 0f a8 [ ]*pushw %gs + 954: 66 0f a9 [ ]*popw %gs + 957: 66 0f ab 90 90 90 90 90 [ ]*bts %dx,0x90909090\(%eax\) + 95f: 66 0f ac 90 90 90 90 90 90 [ ]*shrd \$0x90,%dx,0x90909090\(%eax\) + 968: 66 0f ad 90 90 90 90 90 [ ]*shrd %cl,%dx,0x90909090\(%eax\) + 970: 66 0f af 90 90 90 90 90 [ ]*imul 0x90909090\(%eax\),%dx + 978: 66 0f b1 90 90 90 90 90 [ ]*cmpxchg %dx,0x90909090\(%eax\) + 980: 66 0f b2 90 90 90 90 90 [ ]*lss 0x90909090\(%eax\),%dx + 988: 66 0f b3 90 90 90 90 90 [ ]*btr %dx,0x90909090\(%eax\) + 990: 66 0f b4 90 90 90 90 90 [ ]*lfs 0x90909090\(%eax\),%dx + 998: 66 0f b5 90 90 90 90 90 [ ]*lgs 0x90909090\(%eax\),%dx + 9a0: 66 0f b6 90 90 90 90 90 [ ]*movzbw 0x90909090\(%eax\),%dx + 9a8: 66 0f bb 90 90 90 90 90 [ ]*btc %dx,0x90909090\(%eax\) + 9b0: 66 0f bc 90 90 90 90 90 [ ]*bsf 0x90909090\(%eax\),%dx + 9b8: 66 0f bd 90 90 90 90 90 [ ]*bsr 0x90909090\(%eax\),%dx + 9c0: 66 0f be 90 90 90 90 90 [ ]*movsbw 0x90909090\(%eax\),%dx + 9c8: 66 0f c1 90 90 90 90 90 [ ]*xadd %dx,0x90909090\(%eax\) diff --git a/gas/testsuite/gas/i386/intel.s b/gas/testsuite/gas/i386/intel.s new file mode 100644 index 0000000..4f5a965 --- /dev/null +++ b/gas/testsuite/gas/i386/intel.s @@ -0,0 +1,568 @@ +.text +.intel_syntax noprefix +foo: + add byte ptr 0x90909090[eax], dl + add dword ptr 0x90909090[eax], edx + add dl, byte ptr 0x90909090[eax] + add edx, dword ptr 0x90909090[eax] + add al, 0x90 + add eax, 0x90909090 + push es + pop es + or [eax+0x90909090], dl + or [eax+0x90909090], edx + or dl, [eax+0x90909090] + or edx, [eax+0x90909090] + or al, 0x90 + or eax, 0x90909090 + push cs + adc byte ptr [eax+0x90909090], dl + adc dword ptr [eax+0x90909090], edx + adc dl, byte ptr [eax+0x90909090] + adc edx, dword ptr [eax+0x90909090] + adc al, 0x90 + adc eax, 0x90909090 + push ss + pop ss + sbb 0x90909090[eax], dl + sbb 0x90909090[eax], edx + sbb dl, 0x90909090[eax] + sbb edx, 0x90909090[eax] + sbb al, 0x90 + sbb eax, 0x90909090 + push ds + pop ds + and 0x90909090[eax], dl + and 0x90909090[eax], edx + and dl, 0x90909090[eax] + and edx, 0x90909090[eax] + and al, 0x90 + and eax, 0x90909090 + daa + sub 0x90909090[eax], dl + sub 0x90909090[eax], edx + sub dl, 0x90909090[eax] + sub edx, 0x90909090[eax] + sub al, 0x90 + sub eax, 0x90909090 + das + xor 0x90909090[eax], dl + xor 0x90909090[eax], edx + xor dl, 0x90909090[eax] + xor edx, 0x90909090[eax] + xor al, 0x90 + xor eax, 0x90909090 + aaa + cmp 0x90909090[eax], dl + cmp 0x90909090[eax], edx + cmp dl, 0x90909090[eax] + cmp edx, 0x90909090[eax] + cmp al, 0x90 + cmp eax, 0x90909090 + aas + inc eax + inc ecx + inc edx + inc ebx + inc esp + inc ebp + inc esi + inc edi + dec eax + dec ecx + dec edx + dec ebx + dec esp + dec ebp + dec esi + dec edi + push eax + push ecx + push edx + push ebx + push esp + push ebp + push esi + push edi + pop eax + pop ecx + pop edx + pop ebx + pop esp + pop ebp + pop esi + pop edi + pusha + popa + bound edx, 0x90909090[eax] + arpl 0x90909090[eax], dx + push 0x90909090 + imul edx, 0x90909090[eax], 0x90909090 + push 0xffffff90 + imul edx, 0x90909090[eax], 0xffffff90 + ins byte ptr es:[edi], dx + ins dword ptr es:[edi], dx + outs dx, byte ptr ds:[esi] + outs dx, dword ptr ds:[esi] + jo .+2-0x70 + jno .+2-0x70 + jb .+2-0x70 + jae .+2-0x70 + je .+2-0x70 + jne .+2-0x70 + jbe .+2-0x70 + ja .+2-0x70 + js .+2-0x70 + jns .+2-0x70 + jp .+2-0x70 + jnp .+2-0x70 + jl .+2-0x70 + jge .+2-0x70 + jle .+2-0x70 + jg .+2-0x70 + adc byte ptr 0x90909090[eax], 0x90 + adc dword ptr 0x90909090[eax], 0x90909090 + adc dword ptr 0x90909090[eax], 0xffffff90 + test 0x90909090[eax], dl + test 0x90909090[eax], edx + xchg 0x90909090[eax], dl + xchg 0x90909090[eax], edx + mov 0x90909090[eax], dl + mov 0x90909090[eax], edx + mov dl, 0x90909090[eax] + mov edx, 0x90909090[eax] + mov dword ptr 0x90909090[eax], ss + lea edx, 0x90909090[eax] + mov ss, dword ptr 0x90909090[eax] + pop dword ptr 0x90909090[eax] + xchg eax, eax + xchg ecx, eax + xchg edx, eax + xchg ebx, eax + xchg esp, eax + xchg ebp, eax + xchg esi, eax + xchg edi, eax + cwde + cdq + call 0x9090,0x90909090 + fwait + pushf + popf + sahf + lahf + mov al, [0x90909090] + mov eax, [0x90909090] + mov [0x90909090], al + mov [0x90909090], eax + movs byte ptr es:[edi], byte ptr ds:[esi] + movs dword ptr es:[edi], dword ptr ds:[esi] + cmps byte ptr ds:[esi], byte ptr es:[edi] + cmps dword ptr ds:[esi], dword ptr es:[edi] + test al, 0x90 + test eax, 0x90909090 + stos byte ptr es:[edi], al + stos dword ptr es:[edi], eax + lods al, byte ptr ds:[esi] + lods eax, dword ptr ds:[esi] + scas al, byte ptr es:[edi] + scas eax, dword ptr es:[edi] + mov al, 0x90 + mov cl, 0x90 + mov dl, 0x90 + mov bl, 0x90 + mov ah, 0x90 + mov ch, 0x90 + mov dh, 0x90 + mov bh, 0x90 + mov eax, 0x90909090 + mov ecx, 0x90909090 + mov edx, 0x90909090 + mov ebx, 0x90909090 + mov esp, 0x90909090 + mov ebp, 0x90909090 + mov esi, 0x90909090 + mov edi, 0x90909090 + rcl byte ptr 0x90909090[eax], 0x90 + rcl dword ptr 0x90909090[eax], 0x90 + ret 0x9090 + ret + les edx, 0x90909090[eax] + lds edx, 0x90909090[eax] + mov byte ptr 0x90909090[eax], 0x90 + mov dword ptr 0x90909090[eax], 0x90909090 + enter 0x9090, 0x90 + leave + lret 0x9090 + lret + int3 + int 0x90 + into + iret + rcl byte ptr 0x90909090[eax] + rcl dword ptr 0x90909090[eax] + rcl byte ptr 0x90909090[eax], cl + rcl dword ptr 0x90909090[eax], cl + aam 0xffffff90 + aad 0xffffff90 + xlat byte ptr ds:[ebx] + fcom dword ptr 0x90909090[eax] + fst dword ptr 0x90909090[eax] + ficom dword ptr 0x90909090[eax] + fist dword ptr 0x90909090[eax] + fcom qword ptr 0x90909090[eax] + fst qword ptr 0x90909090[eax] + ficom word ptr 0x90909090[eax] + fist word ptr 0x90909090[eax] + loopne .+2-0x70 + loope .+2-0x70 + loop .+2-0x70 + jecxz .+2-0x70 + in al, 0x90 + in eax, 0x90 + out 0x90, al + out 0x90, eax + call .+5+0x90909090 + jmp .+5+0x90909090 + jmp 0x9090,0x90909090 + jmp .+2-0x70 + in al, dx + in eax, dx + out dx, al + out dx, eax + hlt + cmc + not byte ptr 0x90909090[eax] + not dword ptr 0x90909090[eax] + clc + stc + cli + sti + cld + std + call dword ptr 0x90909090[eax] + lldt 0x90909090[eax] + lgdt 0x90909090[eax] + lar edx, 0x90909090[eax] + lsl edx, 0x90909090[eax] + clts + invd + wbinvd + ud2a + mov eax, cr2 + mov eax, db2 + mov cr2, eax + mov db2, eax + mov eax, tr2 + mov tr2, eax + wrmsr + rdtsc + rdmsr + rdpmc + cmovo edx, 0x90909090[eax] + cmovno edx, 0x90909090[eax] + cmovb edx, 0x90909090[eax] + cmovae edx, 0x90909090[eax] + cmove edx, 0x90909090[eax] + cmovne edx, 0x90909090[eax] + cmovbe edx, 0x90909090[eax] + cmova edx, 0x90909090[eax] + cmovs edx, 0x90909090[eax] + cmovns edx, 0x90909090[eax] + cmovp edx, 0x90909090[eax] + cmovnp edx, 0x90909090[eax] + cmovl edx, 0x90909090[eax] + cmovge edx, 0x90909090[eax] + cmovle edx, 0x90909090[eax] + cmovg edx, 0x90909090[eax] + punpcklbw mm2, 0x90909090[eax] + punpcklwd mm2, 0x90909090[eax] + punpckldq mm2, 0x90909090[eax] + packsswb mm2, 0x90909090[eax] + pcmpgtb mm2, 0x90909090[eax] + pcmpgtw mm2, 0x90909090[eax] + pcmpgtd mm2, 0x90909090[eax] + packuswb mm2, 0x90909090[eax] + punpckhbw mm2, 0x90909090[eax] + punpckhwd mm2, 0x90909090[eax] + punpckhdq mm2, 0x90909090[eax] + packssdw mm2, 0x90909090[eax] + movd mm2, 0x90909090[eax] + movq mm2, 0x90909090[eax] + psrlw mm0, 0x90 + psrld mm0, 0x90 + psrlq mm0, 0x90 + pcmpeqb mm2, 0x90909090[eax] + pcmpeqw mm2, 0x90909090[eax] + pcmpeqd mm2, 0x90909090[eax] + emms + movd 0x90909090[eax], mm2 + movq 0x90909090[eax], mm2 + jo .+6+0x90909090 + jno .+6+0x90909090 + jb .+6+0x90909090 + jae .+6+0x90909090 + je .+6+0x90909090 + jne .+6+0x90909090 + jbe .+6+0x90909090 + ja .+6+0x90909090 + js .+6+0x90909090 + jns .+6+0x90909090 + jp .+6+0x90909090 + jnp .+6+0x90909090 + jl .+6+0x90909090 + jge .+6+0x90909090 + jle .+6+0x90909090 + jg .+6+0x90909090 + seto 0x90909090[eax] + setno 0x90909090[eax] + setb 0x90909090[eax] + setae 0x90909090[eax] + sete 0x90909090[eax] + setne 0x90909090[eax] + setbe 0x90909090[eax] + seta 0x90909090[eax] + sets 0x90909090[eax] + setns 0x90909090[eax] + setp 0x90909090[eax] + setnp 0x90909090[eax] + setl 0x90909090[eax] + setge 0x90909090[eax] + setle 0x90909090[eax] + setg 0x90909090[eax] + push fs + pop fs + cpuid + bt 0x90909090[eax], edx + shld 0x90909090[eax], edx, 0x90 + shld 0x90909090[eax], edx, cl + push gs + pop gs + rsm + bts 0x90909090[eax], edx + shrd 0x90909090[eax], edx, 0x90 + shrd 0x90909090[eax], edx, cl + imul edx, 0x90909090[eax] + cmpxchg 0x90909090[eax], dl + cmpxchg 0x90909090[eax], edx + lss edx, 0x90909090[eax] + btr 0x90909090[eax], edx + lfs edx, 0x90909090[eax] + lgs edx, 0x90909090[eax] + movzx edx, byte ptr 0x90909090[eax] + movzx edx, word ptr 0x90909090[eax] + ud2b + btc 0x90909090[eax], edx + bsf edx, 0x90909090[eax] + bsr edx, 0x90909090[eax] + movsx edx, byte ptr 0x90909090[eax] + movsx edx, word ptr 0x90909090[eax] + xadd 0x90909090[eax], dl + xadd 0x90909090[eax], edx + bswap eax + bswap ecx + bswap edx + bswap ebx + bswap esp + bswap ebp + bswap esi + bswap edi + psrlw mm2, 0x90909090[eax] + psrld mm2, 0x90909090[eax] + psrlq mm2, 0x90909090[eax] + pmullw mm2, 0x90909090[eax] + psubusb mm2, 0x90909090[eax] + psubusw mm2, 0x90909090[eax] + pand mm2, 0x90909090[eax] + paddusb mm2, 0x90909090[eax] + paddusw mm2, 0x90909090[eax] + pandn mm2, 0x90909090[eax] + psraw mm2, 0x90909090[eax] + psrad mm2, 0x90909090[eax] + pmulhw mm2, 0x90909090[eax] + psubsb mm2, 0x90909090[eax] + psubsw mm2, 0x90909090[eax] + por mm2, 0x90909090[eax] + paddsb mm2, 0x90909090[eax] + paddsw mm2, 0x90909090[eax] + pxor mm2, 0x90909090[eax] + psllw mm2, 0x90909090[eax] + pslld mm2, 0x90909090[eax] + psllq mm2, 0x90909090[eax] + pmaddwd mm2, 0x90909090[eax] + psubb mm2, 0x90909090[eax] + psubw mm2, 0x90909090[eax] + psubd mm2, 0x90909090[eax] + paddb mm2, 0x90909090[eax] + paddw mm2, 0x90909090[eax] + paddd mm2, 0x90909090[eax] + add 0x90909090[eax], dx + add dx, 0x90909090[eax] + add ax, 0x9090 + pushw es + popw es + or 0x90909090[eax], dx + or dx, 0x90909090[eax] + or ax, 0x9090 + pushw cs + adc 0x90909090[eax], dx + adc dx, 0x90909090[eax] + adc ax, 0x9090 + pushw ss + popw ss + sbb 0x90909090[eax], dx + sbb dx, 0x90909090[eax] + sbb ax, 0x9090 + pushw ds + popw ds + and 0x90909090[eax], dx + and dx, 0x90909090[eax] + and ax, 0x9090 + sub 0x90909090[eax], dx + sub dx, 0x90909090[eax] + sub ax, 0x9090 + xor 0x90909090[eax], dx + xor dx, 0x90909090[eax] + xor ax, 0x9090 + cmp 0x90909090[eax], dx + cmp dx, 0x90909090[eax] + cmp ax, 0x9090 + inc ax + inc cx + inc dx + inc bx + inc sp + inc bp + inc si + inc di + dec ax + dec cx + dec dx + dec bx + dec sp + dec bp + dec si + dec di + push ax + push cx + push dx + push bx + push sp + push bp + push si + push di + pop ax + pop cx + pop dx + pop bx + pop sp + pop bp + pop si + pop di + pushaw # how should we specify a word push all regs? + popaw # ditto for popa + bound dx, 0x90909090[eax] + pushw 0x9090 + imul dx, 0x90909090[eax], 0x9090 + pushw 0xff90 + imul dx, 0x90909090[eax], 0xff90 + ins word ptr es:[edi], dx + outs dx, word ptr ds:[esi] + adc word ptr 0x90909090[eax], 0x9090 + adc word ptr 0x90909090[eax], 0xff90 + test 0x90909090[eax], dx + xchg 0x90909090[eax], dx + mov 0x90909090[eax], dx + mov dx, 0x90909090[eax] + mov word ptr 0x90909090[eax], ss + lea dx, 0x90909090[eax] + pop word ptr 0x90909090[eax] + xchg cx, ax + xchg dx, ax + xchg bx, ax + xchg sp, ax + xchg bp, ax + xchg si, ax + xchg di, ax + cbtw + cwtd + callw 0x9090,0x9090 + pushfw + popfw + mov ax, [0x90909090] + mov [0x90909090], ax + movs word ptr es:[edi], word ptr ds:[esi] + cmps word ptr ds:[esi], word ptr es:[edi] + test ax, 0x9090 + stos word ptr es:[edi], ax + lods ax, word ptr ds:[esi] + scas ax, word ptr es:[edi] + mov ax, 0x9090 + mov cx, 0x9090 + mov dx, 0x9090 + mov bx, 0x9090 + mov sp, 0x9090 + mov bp, 0x9090 + mov si, 0x9090 + mov di, 0x9090 + rcl word ptr 0x90909090[eax], 0x90 + retw 0x9090 + retw + les dx, 0x90909090[eax] + lds dx, 0x90909090[eax] + mov word ptr 0x90909090[eax], 0x9090 + enterw 0x9090, 0x90 + leavew + lretw 0x9090 + lretw + iretw + rcl word ptr 0x90909090[eax] + rcl word ptr 0x90909090[eax], cl + in ax, 0x90 + out 0x90, ax + call word ptr .+3+0x9090 + jmpw 0x9090,0x9090 + in ax, dx + out dx, ax + not word ptr 0x90909090[eax] + call word ptr 0x90909090[eax] + lar dx, 0x90909090[eax] + lsl dx, 0x90909090[eax] + cmovo dx, 0x90909090[eax] + cmovno dx, 0x90909090[eax] + cmovb dx, 0x90909090[eax] + cmovae dx, 0x90909090[eax] + cmove dx, 0x90909090[eax] + cmovne dx, 0x90909090[eax] + cmovbe dx, 0x90909090[eax] + cmova dx, 0x90909090[eax] + cmovs dx, 0x90909090[eax] + cmovns dx, 0x90909090[eax] + cmovp dx, 0x90909090[eax] + cmovnp dx, 0x90909090[eax] + cmovl dx, 0x90909090[eax] + cmovge dx, 0x90909090[eax] + cmovle dx, 0x90909090[eax] + cmovg dx, 0x90909090[eax] + pushw fs + popw fs + bt 0x90909090[eax], dx + shld 0x90909090[eax], dx, 0x90 + shld 0x90909090[eax], dx, cl + pushw gs + popw gs + bts 0x90909090[eax], dx + shrd 0x90909090[eax], dx, 0x90 + shrd 0x90909090[eax], dx, cl + imul dx, 0x90909090[eax] + cmpxchg 0x90909090[eax], dx + lss dx, 0x90909090[eax] + btr 0x90909090[eax], dx + lfs dx, 0x90909090[eax] + lgs dx, 0x90909090[eax] + movzx dx, byte ptr 0x90909090[eax] + btc 0x90909090[eax], dx + bsf dx, 0x90909090[eax] + bsr dx, 0x90909090[eax] + movsx dx, byte ptr 0x90909090[eax] + xadd 0x90909090[eax], dx diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 41b7dbb..1beea88 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,8 @@ +2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (fild, fistp): Change intel d_Suf form to fildd and + fistpd without suffix. + 2000-02-24 Nick Clifton <nickc@cygnus.com> * cgen.h (cgen_cpu_desc): Rename field 'flags' to diff --git a/include/opcode/i386.h b/include/opcode/i386.h index ee7554b..8693ef0 100644 --- a/include/opcode/i386.h +++ b/include/opcode/i386.h @@ -513,7 +513,7 @@ static const template i386_optab[] = { {"fld", 1, 0xdb, 5, x_FP|Modrm, { LLongMem, 0, 0} }, /* %st0 <-- mem efloat */ {"fild", 1, 0xdf, 0, sl_Suf|FloatMF|Modrm, { ShortMem|LongMem, 0, 0} }, /* %st0 <-- mem word(16)/dword(32) */ /* Intel Syntax */ -{"fild", 1, 0xdf, 5, d_Suf|IgnoreSize|Modrm,{ LLongMem, 0, 0} }, /* %st0 <-- mem qword (64) */ +{"fildd", 1, 0xdf, 5, FP|Modrm, { LLongMem, 0, 0} }, /* %st0 <-- mem qword (64) */ {"fildq", 1, 0xdf, 5, FP|Modrm, { LLongMem, 0, 0} }, /* %st0 <-- mem qword (64) */ {"fildll", 1, 0xdf, 5, FP|Modrm, { LLongMem, 0, 0} }, /* %st0 <-- mem qword (64) */ {"fldt", 1, 0xdb, 5, FP|Modrm, { LLongMem, 0, 0} }, /* %st0 <-- mem efloat */ @@ -533,7 +533,7 @@ static const template i386_optab[] = { {"fstp", 1, 0xdb, 7, x_FP|Modrm, { LLongMem, 0, 0} }, /* %st0 --> mem efloat */ {"fistp", 1, 0xdf, 3, sl_FP|FloatMF|Modrm, { ShortMem|LongMem, 0, 0} }, /* %st0 --> mem word(16)/dword(32) */ /* Intel Syntax */ -{"fistp", 1, 0xdf, 7, d_FP|Modrm, { LLongMem, 0, 0} }, /* %st0 --> mem qword (64) */ +{"fistpd", 1, 0xdf, 7, FP|Modrm, { LLongMem, 0, 0} }, /* %st0 --> mem qword (64) */ {"fistpq", 1, 0xdf, 7, FP|Modrm, { LLongMem, 0, 0} }, /* %st0 --> mem qword (64) */ {"fistpll",1, 0xdf, 7, FP|Modrm, { LLongMem, 0, 0} }, /* %st0 --> mem qword (64) */ {"fstpt", 1, 0xdb, 7, FP|Modrm, { LLongMem, 0, 0} }, /* %st0 --> mem efloat */ |