Annotation of coherent/b/bin/as/table.386, revision 1.1.1.1

1.1       root        1: + 0
                      2: #
                      3: # Operand production table. 
                      4: # Productions starting with [.bB] are base types in actual tables
                      5: # Productions starting with [!eE] are extra types used for test purposes
                      6: # [be] are 16 bit productions [BE] are 32 bit and [.!] are both
                      7: #
                      8: # The first productions on the list are valid productions
                      9: # Then there is a ? and invalid productions to test the assemblers
                     10: # error conditions.
                     11: #
                     12: . r8 %al %cl %dl %bl %ah %ch %dh %bh ? 0xa $0xa
                     13: b r16 %ax %cx %dx %bx %sp %bp %si %di ? %al 0xa $0xa
                     14: B r32 %eax %ecx %edx %ebx %esp %ebp %esi %edi ? %al 0xa $0xa
                     15: . rm8 r8 0x3e8 vv vd ? r16 r32 $0x64
                     16: b rm16 r16 0x3e8 vv vd ? r8 r32 $0x64
                     17: B rm32 r32 0x3e8 vv vd ? r16 r8 $0x64
                     18: . m8  0x10 vv vd ? r8 $0x64
                     19: b m16 0x3e8 vv vd ? r8 r32 $0x64
                     20: B m32 0x3e8 vv vd ? r16 r8 $0x64
                     21: B m64 0x3e8 vv vd ? r16 r8 $0x64
                     22: B m80 0x3e8 vv vd ? r16 r8 $0x64
                     23: . mem32 abc
                     24: . mem16 abc
                     25: . reli . abc ? al
                     26: . rel8 . ? %al
                     27: . rel16 abc
                     28: . al %al ? %bl
                     29: b ax %ax ? %bx
                     30: B eax %eax ? %ebx
                     31: . ds %ds
                     32: . es %es
                     33: . ss %ss
                     34: . fs %fs
                     35: . gs %gs
                     36: . cs %cs
                     37: . cl %cl
                     38: . atdx (%dx)
                     39: . moffs mem16
                     40: . sreg %es %cs %ss %ds %fs %gs ? $0x64
                     41: . st0 %st
                     42: . dx %dx
                     43: B ctlreg %cr0 %cr2 %cr3 ? %ss
                     44: B dbreg %dr0 %dr1 %dr2 %dr3 %dr6 %dr7 ? %cr0
                     45: B treg %tr6 %tr7 ? %ax %cr0
                     46: B fpreg %st %st(0) %st(1) %st(2) %st(3) %st(4) %st(5) %st(6) %st(7) ? %eax
                     47: B imm32 $0x186a0
                     48: B imm32x $0 ? %bx
                     49: . imm16 $0x3e8 ? $0x186a0
                     50: . imm16x $0 ? %ax
                     51: . imm8 $0x64 ? $0x3e8
                     52: . imm8s $064 $-5 ? 128
                     53: . con3 $3 ? 4
                     54: . con1 $1 ? 5
                     55: E va %eax %ecx %edx %ebx %esi %edi
                     56: E vb %eax %ecx %edx %ebx %ebp %esi %edi
                     57: E vd (va) 0x64(vb) 0x186a0(vb) (,vb,vs) (vb,vb,vs) 0x64(vb,vs) 0x3e8(vb,vb,vs) \
                     58:  (vb,vs) (vb,vb) 0x4(vb,vb)
                     59: E vs 0 1 2 4 8
                     60: e vv (vx,vy) (vz) 0x64(vx,vy) 0x64(vw) 0x3e8(vx,vy) 0x3e8(vw)
                     61: e vw %si %di %bp %bx
                     62: e vx %bx %bp
                     63: e vy %si %di
                     64: e vz %si %di %bx
                     65: #
                     66: # The First Operand contains the following flags:
                     67: # G    Generic opcode if given a name, no generic opcode otherwise.
                     68: # w    Word moded instruction.
                     69: # d    Double word moded instruction.
                     70: # F    Floating point instruction.
                     71: # f    Floating 9b prefix.
                     72: # p    0F prefix.
                     73: # a    Add register to opcode.
                     74: # 0-8   Second byte of code goes into mod/rm location Set into groups for dis
                     75: # i    Indefinate jump.
                     76: # L    lock instruction.
                     77: # l    Legal after lock instruction.
                     78: # R    rep instruction.
                     79: # r    Legal after rep instruction.
                     80: # t    Special two operand imult.
                     81: # P    use /r on document. no other use.
                     82: # X    May have mixed word and double word operand.
                     83: # A    Ambiguous length construction.
                     84: #
                     85: + 1    # Opcode table - type, hex value, opcode, operands
                     86: G                              # opcodes with no general form
                     87: -    0037 aaa                  # Adjust after addition
                     88: -    d50a aad                  # Adjust AX before division
                     89: -    d40a aam                  # Adjust AX after multiply
                     90: -    003f aas                  # Adjust AL after subtraction
                     91: P    0063 arpl r16 rm16        # Adjust RPL field of selector
                     92: i    00e8 call reli            # Call Procedure
                     93: w    0098 cbw                  # Sign extend AL
                     94: w    0098 cbtw                 # Sign extend AL
                     95: d    0098 cwde                 # Sign extend AX
                     96: d    0098 cwtl                 # Sign extend AX
                     97: -    00f8 clc                  # Clear carry
                     98: -    00fc cld                  # Clear direction Flag
                     99: -    00fa cli                  # Clear interrupt Flag
                    100: p    0006 clts                 # Clear task-switched flag in CR0
                    101: -    00f5 cmc                  # Complement carry flag
                    102: r    00a6 cmpsb                        # Compare bytes
                    103: wr   00a7 cmpsw                        # Compare words
                    104: dr   00a7 cmpsl                        # Compare long
                    105: w    0099 cwd                  # Word to double word
                    106: w    0099 cwtd                 # Word to double word
                    107: d    0099 cdq                  # Double word to quad word
                    108: d    0099 cltd                 # Double word to quad word
                    109: -    0027 daa                  # Decimal adjust after addition
                    110: -    002f das                  # Decimal adjust after subtraction
                    111: -    00c8 enter imm8 imm16     # Make stack frame for procedure
                    112: F    d9f0 f2xm1                        # ST = 2 ** ST - 1
                    113: F    d9e1 fabs                 # ST = abs(ST)
                    114: 0F   df04 fbld m80             # Load Binary Coded Decimal
                    115: 0F   df06 fbstp m80            # Store Binary Coded Decimal and Pop
                    116: F    d9e0 fchs                 # Change Floating Sign
                    117: F    ded9 fcompp               # Floating Compare and pop twice
                    118: F    d9ff fcos                 # Cosine
                    119: F    d9f6 fdecstp              # Decrement Stack Top Pointer
                    120: aF   ddc0 ffree        fpreg           # Free Floating Point Register
                    121: F    d9f7 fincstp              # Increment Stack Top Pointer
                    122: 0F   d905 fldcw m32            # Load Floating Point Control Word
                    123: 0F   d904 fldenv m32           # Load FPU Environment
                    124: F    d9e8 fld1                 # Load Constant 1
                    125: F    d9e9 fldl2t               # Load Constant log(10) base 2
                    126: F    d9ea fldl2e               # Load Constant log(e) base 2
                    127: F    d9eb fldpi                        # Load Constant pi
                    128: F    d9ec fldlg2               # Load Constant log(2) base 10
                    129: F    d9ed fldln2               # Load Constant log(2) base e
                    130: F    d9ee fldz                 # Load Constant 0.0
                    131: F    dbe2 fnclex               # Clear floating point exception flags no wait
                    132: fF   dbe2 fclex                        # Clear floating point exception flags
                    133: F    dbe3 fninit               # Initialize Floating Point Unit no wait
                    134: fF   dbe3 finit                        # Initialize Floating Point Unit
                    135: F    d9d0 fnop                 # No Operation
                    136: F    d9f3 fpatan               # Partial Arctangent
                    137: F    d9f8 fprem                        # Partial Remainder toward 0
                    138: F    d9f5 fprem1               # Partial Remainder < 1/2 modulus
                    139: F    d9f2 fptan                        # Partial Tangent
                    140: F    dbf4 frstpm               # set 287XL real mode (nop for 387/486)
                    141: F    d9fc frndint              # Round To Integer
                    142: 0F   dd04 frstor m32           # Resore FPU State
                    143: 0F   dd06 fnsave m32           # Store FPU State no wait
                    144: 0fF  dd06 fsave m32            # Store FPU State
                    145: F    d9fd fscale               # Scale
                    146: F    dbe4 fsetpm               # set 287 protected mode (nop for 387/486)
                    147: F    d9fe fsin                 # Sine
                    148: F    d9fb fsincos              # Sine and Cosine
                    149: F    d9fa fsqrt                        # Square Root
                    150: 0F   d907 fnstcw m32           # Store Control Word no wait
                    151: 0fF  d907 fstcw m32            # Store Control Word
                    152: 0F   d906 fnstenv m32          # Store FPU Environment no wait
                    153: 0fF  d906 fstenv m32           # Store FPU Environment
                    154: F    d9e4 ftst                 # Test
                    155: F    dae9 fucompp              # Unordered compare %st %st1 and pop twice
                    156: F    009b fwait                        # Wait for coprocessor
                    157: F    d9e5 fxam                 # Examine
                    158: F    d9f4 fxtract              # Extract Exponent and Significand
                    159: F    d9f1 fyl2x                        # %st1 * log(%st) base 2
                    160: F    d9f9 fyl2xp1              # %st1 * log(%st + 1.0) base 2
                    161: -    00f4 hlt                  # Halt
                    162: d5   ff02 icall rm32           # Call indirect
                    163: d5   ff04 ijmp rm32            # Jump indirect
                    164: d5   ff03 ilcall m32           # Long call indirect
                    165: d5   ff05 iljmp m32            # Long jump indirect
                    166: -    00cc int  con3            # Interrupt 3
                    167: -    00cd int  imm8            # Interrupt
                    168: w    00ce into                 # Int 4 if overflow is 1
                    169: r    006c insb                 # Input byte from port into ES:(E)DI
                    170: r    006c insb  atdx           # Input byte from port into ES:(E)DI
                    171: wr   006d insw                 # Input word from port into ES:(E)DI
                    172: wr   006d insw atdx            # Input word from port into ES:(E)DI
                    173: dr   006d insl                 # Input long from port into ES:(E)DI
                    174: dr   006d insl atdx            # Input long from port into ES:(E)DI
                    175: -    00cf iret                 # Interrupt return
                    176: -    00cf iretd                        # Different mode different opcode ?
                    177: i    7 ja      reli            # Jump if above
                    178: i    3 jae     reli            # Jump if above or equal
                    179: i    2 jb      reli            # Jump if below
                    180: i    6 jbe     reli            # Jump if below or equal
                    181: i    2 jc      reli            # Jump if carry
                    182: i    4 je      reli            # Jump if equal
                    183: i    4 jz      reli            # Jump if zero
                    184: i    f jg      reli            # Jump if greater
                    185: i    d jge     reli            # Jump if greater or equal
                    186: i    c jl      reli            # Jump if less
                    187: i    e jle     reli            # Jump if less or equal
                    188: i    6 jna     reli            # Jump if not above
                    189: i    2 jnae    reli            # Jump if not above or equal
                    190: i    3 jnb     reli            # Jump if not below
                    191: i    7 jnbe    reli            # Jump if not below or equal
                    192: i    3 jnc     reli            # Jump if no carry
                    193: i    5 jne     reli            # Jump if not equal
                    194: i    e jng     reli            # Jump if not greater
                    195: i    c jnge    reli            # Jump if not greater or equal
                    196: i    d jnl     reli            # Jump if not less
                    197: i    f jnle    reli            # Jump if not less or equal
                    198: i    1 jno     reli            # Jump if not overflow
                    199: i    b jnp     reli            # Jump if not parity
                    200: i    9 jns     reli            # Jump if not sign
                    201: i    5 jnz     reli            # Jump if not zero
                    202: i    0 jo      reli            # Jump if overflow
                    203: i    a jp      reli            # Jump if parity
                    204: i    a jpe     reli            # Jump if parity even
                    205: i    b jpo     reli            # Jump if parity odd
                    206: i    8 js      reli            # Jump if sign
                    207: i    4 jz      reli            # Jump if zero
                    208: i    e9 jmp    reli            # Jump absolute
                    209: #
                    210: -    00e3 jcxz rel8            # Jump if CX is zero
                    211: -    00e3 jecxz        rel8            # Jump if CX is zero
                    212: #
                    213: -    009f lahf                 # Load flags into AH register
                    214: d    009a lcall imm16x imm32   # Long call
                    215: d    00ea ljmp imm16x imm32    # Long jump
                    216: -    00c9 leave                        # High level procedure exit
                    217: p6   0002 lldt rm16            # Load local descriptor table register
                    218: p7   0106 lmsw rm16            # Load machine status word
                    219: L    00f0 lock                 # Assert lock signal for next instruction
                    220: r    00ac lodsb                        # Load string operand byte
                    221: wr   00ad lodsw                        # Load string operand word
                    222: dr   00ad lodsl                        # Load string operand long
                    223: -    00e2 loop rel8            # Dec count jmp if count <> 0
                    224: -    00e1 loope        rel8            # Dec count jmp if count <> 0 and ZF = 1
                    225: -    00e1 loopz        rel8            # Dec count jmp if count <> 0 and ZF = 1
                    226: -    00e0 loopne rel8          # Dec count jmp if count <> 0 and ZF = 0
                    227: -    00e0 loopnz rel8          # Dec count jmp if count <> 0 and ZF = 0
                    228: p6   0003 ltr  rm16            # Load task register
                    229: r    00a4 movsb                        # Move bytes
                    230: wr   00a5 movsw                        # Move words
                    231: dr   00a5 movsl                        # Move longs
                    232: -    0090 nop                  # No operation
                    233: r    006e outsb                        # Output byte to port into ES:(E)DI
                    234: wr   006f outsw                        # Output word to port into ES:(E)DI
                    235: dr   006f outsl                        # Output long to port into ES:(E)DI
                    236: R    00f3 rep                  # rep following instruction CX times
                    237: R    00f3 repe                 # repe following instruction CX times or eq
                    238: R    00f3 repz                 # alternate name for repe
                    239: R    00f2 repne                        # repne following instruction CX times or ne
                    240: R    00f2 repnz                        # alternate name for repnz
                    241: -    00c3 ret                  # Return
                    242: -    00c2 ret  imm16           # Return pop imm16 bytes of parms
                    243: -    00cb lret                 # Far return
                    244: -    00ca lret imm16           # Far return pop imm16 bytes of parms
                    245: -    009e sahf                 # Store AH into flags
                    246: r    00ae scasb                        # Compare string bytes
                    247: dr   00af scasl                        # Compare string longs
                    248: wr   00af scasw                        # Compare string words
                    249: #
                    250: p    0097 seta rm8             # Set byte if above
                    251: p    0093 setae        rm8             # Set byte if above or equal
                    252: p    0092 setb rm8             # Set byte if below
                    253: p    0096 setbe        rm8             # Set byte if below or equal
                    254: p    0092 setc rm8             # Set byte if carry
                    255: p    0094 sete rm8             # Set byte if equal
                    256: p    0094 setz rm8             # Set byte if zero
                    257: p    009f setg rm8             # Set byte if greater
                    258: p    009d setge        rm8             # Set byte if greater or equal
                    259: p    009c setl rm8             # Set byte if less
                    260: p    009e setle        rm8             # Set byte if less or equal
                    261: p    0096 setna        rm8             # Set byte if not above
                    262: p    0092 setnae rm8           # Set byte if not above or equal
                    263: p    0093 setnb        rm8             # Set byte if not below
                    264: p    0097 setnbe rm8           # Set byte if not below or equal
                    265: p    0093 setnc        rm8             # Set byte if no carry
                    266: p    0095 setne        rm8             # Set byte if not equal
                    267: p    009e setng        rm8             # Set byte if not greater
                    268: p    009c setnge rm8           # Set byte if not greater or equal
                    269: p    009d setnl        rm8             # Set byte if not less
                    270: p    009f setnle rm8           # Set byte if not less or equal
                    271: p    0091 setno        rm8             # Set byte if not overflow
                    272: p    009b setnp        rm8             # Set byte if not parity
                    273: p    0099 setns        rm8             # Set byte if not sign
                    274: p    0095 setnz        rm8             # Set byte if not zero
                    275: p    0090 seto rm8             # Set byte if overflow
                    276: p    009a setp rm8             # Set byte if parity
                    277: p    009a setpe        rm8             # Set byte if parity even
                    278: p    009b setpo        rm8             # Set byte if parity odd
                    279: p    0098 sets rm8             # Set byte if sign
                    280: p    0094 setz rm8             # Set byte if zero
                    281: #
                    282: p7   0100 sgdt mem32           # Store gdtr
                    283: p7   0101 sidt mem32           # Store idtr
                    284: p6   0000 sldt rm16            # Store ldtr to EA word
                    285: p7   0104 smsw rm16            # Store machine status to EA word
                    286: -    00f9 stc                  # Set carry flag
                    287: -    00fd std                  # Clear direction flag
                    288: -    00fb sti                  # Set interrupt flag
                    289: r    00aa stosb                        # Store string byte
                    290: wr   00ab stosw                        # Store string word
                    291: dr   00ab stosl                        # Store string long
                    292: p6   0001 str                  # Store task register
                    293: p6   0004 verr  rm16           # Verify segment for read
                    294: p6   0005 verw rm16            # Verify segment for write
                    295: -    009b wait                 # Wait for coprocessor
                    296: -    00d7 xlat                 # Table lookup translation
                    297: -    00d7 xlatb                        # Table lookup translation
                    298: G      adc     # Add with carry
                    299: A1l  8302 adc  imm8s m32
                    300: d1l  8302 adcl imm8s rm32
                    301: w1l  8302 adcw imm8s rm16
                    302: -    0014 adcb imm8 al
                    303: w    0015 adcw imm16 ax
                    304: d    0015 adcl imm32 eax
                    305: d    0015 adcl imm32 
                    306: 1l   8002 adcb imm8 rm8
                    307: w1l  8102 adcw imm16 rm16
                    308: d1l  8102 adcl imm32 rm32
                    309: lP   0012 adcb rm8 r8
                    310: wlP  0013 adcw rm16 r16
                    311: dlP  0013 adcl rm32 r32
                    312: lP   0010 adcb r8 rm8
                    313: wlP  0011 adcw r16 rm16
                    314: dlP  0011 adcl r32 rm32
                    315: G      add     # Add
                    316: A1l  8300 add  imm8s m32
                    317: d1l  8300 addl imm8s rm32
                    318: w1l  8300 addw imm8s rm16
                    319: l    0004 addb imm8 al
                    320: wl   0005 addw imm16 ax
                    321: dl   0005 addl imm32 eax
                    322: dl   0005 addl imm32
                    323: 1l   8000 addb imm8 rm8
                    324: w1l  8100 addw imm16 rm16
                    325: d1l  8100 addl imm32 rm32
                    326: lP   0002 addb rm8 r8
                    327: wlP  0003 addw rm16 r16
                    328: dlP  0003 addl rm32 r32
                    329: lP   0000 addb r8 rm8
                    330: wlP  0001 addw r16 rm16
                    331: dlP  0001 addl r32 rm32
                    332: G      and     # Logical AND
                    333: A1l  8304 and  imm8s m32
                    334: d1l  8304 andl imm8s rm32
                    335: w1l  8304 andw imm8s rm16
                    336: l    0024 andb imm8 al
                    337: wl   0025 andw imm16 ax
                    338: dl   0025 andl imm32 eax
                    339: dl   0025 andl imm32
                    340: 1l   8004 andb imm8 rm8
                    341: w1l  8104 andw imm16 rm16
                    342: d1l  8104 andl imm32 rm32
                    343: lP   0022 andb rm8 r8
                    344: wlP  0023 andw rm16 r16
                    345: dlP  0023 andl rm32 r32
                    346: lP   0020 andb r8 rm8
                    347: wlP  0021 andw r16 rm16
                    348: dlP  0021 andl r32 rm32
                    349: G      bound           # Check if register is within bounds
                    350: wP   0062 boundw       m16 r16
                    351: dP   0062 boundl       m32 r32
                    352: G      bsf             # Bit scan forward
                    353: wp   00bc bsfw rm16 r16
                    354: dp   00bc bsfl rm32 r32
                    355: G      bsr             # Bit scan reverse
                    356: wp   00bd bsrw rm16 r16
                    357: dp   00bd bsrl rm32 r32
                    358: G      bt              # Save bit in carry flag
                    359: wp   00a3 btw  r16 rm16
                    360: dp   00a3 btl  r32 rm32
                    361: wp8  ba04 btw  imm8 rm16
                    362: dp8  ba04 btl  imm8 rm32
                    363: G      btc             # Bit test and complement
                    364: wpl  00bb btcw r16 rm16
                    365: dpl  00bb btcl r32 rm32
                    366: wp8l ba07 btcw imm8 rm16
                    367: dp8l ba07 btcl imm8 rm32
                    368: G      btr             # Bit test and reset
                    369: wpl  00b3 btrw r16 rm16
                    370: dpl  00b3 btrl r32 rm32
                    371: wp8l ba06 btrw imm8 rm16
                    372: dp8l ba06 btrl imm8 rm32
                    373: G      bts             # Bit test and set
                    374: wpl  00ab btsw r16 rm16
                    375: dpl  00ab btsl r32 rm32
                    376: wp8l ba05 btsw imm8 rm16
                    377: dp8l ba05 btsl imm8 rm32
                    378: G      cmp             # Compare
                    379: A1   8307 cmp  imm8s m32
                    380: d1   8307 cmpl imm8s rm32
                    381: w1   8307 cmpw imm8s rm16
                    382: -    003c cmpb imm8 al
                    383: w    003d cmpw imm16 ax
                    384: d    003d cmpl imm32 eax
                    385: d    003d cmpl imm32
                    386: 1    8007 cmpb imm8 rm8
                    387: w1   8107 cmpw imm16 rm16
                    388: d1   8107 cmpl imm32 rm32
                    389: P    003a cmpb rm8 r8
                    390: wP   003b cmpw rm16 r16
                    391: dP   003b cmpl rm32 r32
                    392: P    0038 cmpb r8 rm8
                    393: wP   0039 cmpw r16 rm16
                    394: dP   0039 cmpl r32 rm32
                    395: G      dec             # Decrement by 1
                    396: A5l  ff01 dec  m32
                    397: wa   0048 decw r16
                    398: da   0048 decl r32
                    399: 4l   fe01 decb rm8
                    400: w5l  ff01 decw rm16
                    401: d5l  ff01 decl rm32
                    402: G      div             # Unsigned divide
                    403: A3   f706 div  m32
                    404: 3    f606 divb rm8 al
                    405: 3    f606 divb rm8
                    406: w3   f706 divw rm16 ax
                    407: w3   f706 divw rm16
                    408: d3   f706 divl rm32 eax
                    409: d3   f706 divl rm32
                    410: G      fadd            # Floating add
                    411: A0F  d800 fadd  m32
                    412: 0F   d800 fadds  m32
                    413: 0F   dc00 faddl  m64
                    414: aF   d8c0 fadd  fpreg st0
                    415: aF   d8c0 fadd  fpreg
                    416: F    dec1 fadd
                    417: aF   dcc0 fadd  st0 fpreg
                    418: G      faddp           # Floating add and pop
                    419: aF   dec0 faddp  st0 fpreg
                    420: aF   dec0 faddp  fpreg
                    421: F    dec1 faddp
                    422: G      fcom            # Floating Compare
                    423: A0F  d802 fcom   m32
                    424: 0F   d802 fcoms  m32
                    425: 0F   dc02 fcoml  m64
                    426: aF   d8d0 fcom  fpreg st0
                    427: aF   d8d0 fcom  fpreg
                    428: F    d8d1 fcom
                    429: G      fcomp           # Floating Compare and Pop
                    430: A0F  d803 fcomp  m32
                    431: 0F   d803 fcomps m32
                    432: 0F   dc03 fcompl m64
                    433: aF   d8d8 fcomp  fpreg
                    434: F    d8d9 fcomp
                    435: G      fdiv            # Floating divide
                    436: A0F  d806 fdiv   m32
                    437: 0F   d806 fdivs  m32
                    438: 0F   dc06 fdivl  m64
                    439: aF   d8f0 fdiv  fpreg st0
                    440: aF   d8f0 fdiv  fpreg
                    441: F    def1 fdiv
                    442: aF   dcf0 fdiv  st0 fpreg
                    443: G      fdivp           # Floating divide and pop
                    444: aF   def0 fdivp  st0 fpreg
                    445: aF   def0 fdivp  fpreg
                    446: F    def1 fdivp
                    447: G      fdivr           # Reverse floating divide
                    448: A0F  d807 fdivr   m32
                    449: 0F   d807 fdivrs  m32
                    450: 0F   dc07 fdivrl  m64
                    451: aF   d8f8 fdivr         fpreg st0
                    452: aF   d8f8 fdivr         fpreg
                    453: F    def9 fdivr
                    454: aF   dcf8 fdivr         st0 fpreg
                    455: G      fdivrp          # Reverse floating divide and pop
                    456: aF   def8 fdivrp  st0 fpreg
                    457: aF   def8 fdivrp  fpreg
                    458: F    def9 fdivrp
                    459: G      fiadd           # Add integer to float
                    460: A0F  da00 fiadd  m32
                    461: 0F   da00 fiaddl m32
                    462: 0F   de00 fiadds m16
                    463: G      ficom           # Compare float to integer
                    464: A0F  da02 ficom  m32
                    465: 0F   da02 ficoml m32
                    466: 0F   de02 ficoms m16
                    467: G      ficomp          # Compare float to integer and pop
                    468: A0F  da03 ficomp  m32
                    469: 0F   da03 ficompl m32
                    470: 0F   de03 ficomps m16
                    471: G      fidiv           # Divide float by integer
                    472: A0F  da06 fidiv  m32
                    473: 0F   da06 fidivl m32
                    474: 0F   de06 fidivs m16
                    475: G      fidivr          # Reverse divide integer by float
                    476: A0F  da07 fidivr  m32
                    477: 0F   da07 fidivrl m32
                    478: 0F   de07 fidivrs m16
                    479: G      fild            # Load integer
                    480: A0F  db00 fild  m32
                    481: 0F   db00 fildl  m32
                    482: 0F   df00 filds         m16
                    483: 0F   df05 fildll m64
                    484: G      fimul           # Multiply integer to float
                    485: A0F  da01 fimul  m32
                    486: 0F   da01 fimull m32
                    487: 0F   de01 fimuls m16
                    488: G      fist            # Store integer
                    489: A0F  db02 fist  m32
                    490: 0F   db02 fistl  m32
                    491: 0F   df02 fists         m16
                    492: G      fistp           # Store integer and pop
                    493: A0F  db03 fistp   m32
                    494: 0F   db03 fistpl  m32
                    495: 0F   df03 fistps  m16
                    496: 0F   df07 fistpll m32
                    497: G      fisub           # Subtract integer from float
                    498: A0F  da04 fisub         m32
                    499: 0F   da04 fisubl m32
                    500: 0F   de04 fisubs m16
                    501: G      fisubr          # Reverse subtract integer from float
                    502: A0F  da05 fisubr  m32
                    503: 0F   da05 fisubrl m32
                    504: 0F   de05 fisubrs m16
                    505: G      fld             # Load Real
                    506: A0F  d900 fld   m32
                    507: aF   d9c0 fld   fpreg
                    508: 0F   d900 flds   m32
                    509: 0F   dd00 fldl  m32
                    510: 0F   db05 fldt   m64
                    511: G      fmul            # Floating multiply
                    512: A0F  d801 fmul   m32
                    513: 0F   d801 fmuls  m32
                    514: 0F   dc01 fmull  m64
                    515: aF   d8c8 fmul  fpreg st0
                    516: aF   d8c8 fmul  fpreg
                    517: F    dec9 fmul
                    518: aF   dcc8 fmul  st0 fpreg
                    519: G      fmulp           # Floating multiply and pop
                    520: aF   dec8 fmulp  st0 fpreg
                    521: aF   dec8 fmulp  fpreg
                    522: F    dec9 fmulp
                    523: G      fst             # Store Real
                    524: A0F  d902 fst    m32
                    525: aF   ddd0 fst   fpreg
                    526: 0F   d902 fsts   m32
                    527: 0F   dd02 fstl  m64
                    528: G      fstp            # Store Real and pop
                    529: A0F  d903 fstp  m32
                    530: aF   ddd8 fstp  fpreg
                    531: 0F   d903 fstps  m32
                    532: 0F   dd03 fstpl         m64
                    533: 0F   db07 fstpt  m80
                    534: G      fnstsw          # Store Status Word no wait
                    535: 0F  dd07 fnstsw m16
                    536: F   dfe0 fnstsw ax
                    537: G      fstsw           # Store Status Word
                    538: 0fF  dd07 fstsw m16
                    539: fF   dfe0 fstsw ax
                    540: G      fsub            # Floating subtract
                    541: A0F  d804 fsub   m32
                    542: 0F   d804 fsubs  m32
                    543: 0F   dc04 fsubl  m64
                    544: aF   d8e0 fsub  fpreg st0
                    545: aF   d8e0 fsub  fpreg
                    546: F    dee1 fsub
                    547: aF   dce0 fsub  st0 fpreg
                    548: G      fsubp           # Floating subtract and pop
                    549: aF   dee0 fsubp  st0 fpreg
                    550: aF   dee0 fsubp  fpreg
                    551: F    dee1 fsubp
                    552: G      fsubr           # Reverse floating subtract
                    553: A0F  d805 fsubr          m32
                    554: 0F   d805 fsubrs  m32
                    555: 0F   dc05 fsubrl  m64
                    556: aF   d8e8 fsubr         fpreg st0
                    557: aF   d8e8 fsubr         fpreg
                    558: F    dee9 fsubr
                    559: aF   dce8 fsubr         st0 fpreg
                    560: G      fsubrp          # Reverse floating subtract and pop
                    561: aF   dee8 fsubrp  st0 fpreg
                    562: aF   dee8 fsubrp  fpreg
                    563: F    dee9 fsubrp
                    564: G      fucom           # Unordered compare real
                    565: aF   dde0 fucom        st0 fpreg
                    566: aF   dde0 fucom fpreg
                    567: F    dde1 fucom
                    568: G      fucomp          # Unordered compare real and pop
                    569: aF   dde8 fucomp st0 fpreg
                    570: aF   dde8 fucomp fpreg
                    571: F    dde9 fucomp
                    572: G      fxch            # Floating exchange
                    573: aF   d9c8 fxch  st0 fpreg
                    574: aF   d9c8 fxch  fpreg st0
                    575: aF   d9c8 fxch  fpreg
                    576: F    d9c9 fxch
                    577: G      idiv            # Signed divide
                    578: A3   f707 idiv m32
                    579: 3    f607 idivb        rm8 al
                    580: 3    f607 idivb        rm8
                    581: w3   f707 idivw        rm16 ax
                    582: w3   f707 idivw        rm16
                    583: d3   f707 idivl        rm32 eax
                    584: d3   f707 idivl        rm32
                    585: G      imul            # Signed multiply
                    586: 3    f605 imulb        rm8
                    587: w3   f705 imulw        rm16
                    588: d3   f705 imull        rm32
                    589: wpP  00af imulw        rm16 r16
                    590: dpP  00af imull        rm32 r32
                    591: w    006b imulw        imm8s rm16 r16
                    592: d    006b imull        imm8s rm32 r32
                    593: wtP  006b imulw        imm8s r16
                    594: dtP  006b imull        imm8s r32
                    595: w    0069 imulw        imm16 rm16 r16
                    596: d    0069 imull        imm32 rm32 r32
                    597: wtP  0069 imulw        imm16 r16
                    598: dtP  0069 imull        imm32 r32
                    599: G      in              # Input from port
                    600: -    00ec in   dx al
                    601: w    00ed in   dx ax
                    602: d    00ed in   dx eax
                    603: -    00e4 inb  imm8
                    604: w    00e5 inw  imm8
                    605: d    00e5 inl  imm8
                    606: -    00ec inb  atdx
                    607: w    00ed inw  atdx
                    608: d    00ed inl  atdx
                    609: G      inc             # Increment by one
                    610: A5l  ff00 inc  m32
                    611: wa   0040 incw r16
                    612: da   0040 incl r32
                    613: 4l   fe00 incb rm8
                    614: w5l  ff00 incw rm16
                    615: d5l  ff00 incl rm32
                    616: G      lar             # Load access rights byte
                    617: wpP  0002 larw rm16 r16
                    618: dpP  0002 larl rm32 r32
                    619: G      lea             # Load effective address
                    620: wP   008d leaw m16 r16
                    621: dP   008d leal m32 r32
                    622: G      lgdt            # Load m into DGTR
                    623: wp7  0102 lgdtw        m16
                    624: dp7  0102 lgdtl        m32
                    625: G      lidt            # Load m into IDTR
                    626: wp7  0103 lidtw        m16
                    627: dp7  0103 lidtl        m32
                    628: G      lds             # load full pointer DS:r16
                    629: wP   00c5 ldsw m16 r16
                    630: dP   00c5 ldsl m32 r32
                    631: G      lss             # Load full pointer SS:r16
                    632: wpP  00b2 lssw m16 r16
                    633: dpP  00b2 lssl m32 r32
                    634: G      les             # Load full pointer ES:r16
                    635: wP   00c4 lesw m16 r16
                    636: dP   00c4 lesl m32 r32
                    637: G      lfs             # Load full pointer FS:r16
                    638: wpP  00b4 lfsw m16 r16
                    639: dpP  00b4 lfsl m32 r32
                    640: G      lgs             # Load full pointer GS:r16
                    641: wpP  00b5 lgsw m16 r16
                    642: dpP  00b5 lgsl m32 r32
                    643: G      lsl             # Load segment limit
                    644: wpP  0003 lslw rm16 r16
                    645: dpP  0003 lsll rm32 r32
                    646: G      mov             # Move data
                    647: A    00c6 mov  imm8 m32
                    648: -    00a0 movb moffs al
                    649: w    00a1 movw moffs ax
                    650: d    00a1 movl moffs eax
                    651: -    00a2 movb al moffs
                    652: w    00a3 movw ax moffs
                    653: d    00a3 movl eax moffs
                    654: P    008a movb rm8 r8
                    655: wP   008b movw rm16 r16
                    656: dP   008b movl rm32 r32
                    657: P    0088 movb r8 rm8
                    658: wP   0089 movw r16 rm16
                    659: dP   0089 movl r32 rm32
                    660: P    008c movw sreg rm16
                    661: P    008e movw rm16 sreg
                    662: a    00b0 movb imm8 r8
                    663: wa   00b8 movw imm16 r16
                    664: da   00b8 movl imm32 r32
                    665: -    00c6 movb imm8 rm8
                    666: w    00c7 movw imm16 rm16
                    667: d    00c7 movl imm32 rm32
                    668: dpP  0020 movl ctlreg r32
                    669: dpP  0022 movl r32 ctlreg
                    670: dpP  0021 movl dbreg r32
                    671: dpP  0023 movl r32 dbreg
                    672: dpP  0024 movl treg r32
                    673: dpP  0026 movl r32 treg
                    674: G      movsx                   # Move with sign extend
                    675: AdpP 00be movsx  m8 r32
                    676: wpP  00be movsxb rm8 r16
                    677: dpP  00be movsxb rm8 r32
                    678: dpXP 00bf movsxw rm16 r32
                    679: wpP  00be movsbw rm8 r16
                    680: dpP  00be movsbl rm8 r32
                    681: dpXP 00bf movswl rm16 r32
                    682: G      movzx                   # Move with zero extend
                    683: AdpP 00b6 movzx         m8 r32
                    684: wpP  00b6 movzxb rm8 r16
                    685: dpP  00b6 movzxb rm8 r32
                    686: dpXP 00b7 movzxw rm16 r32
                    687: wpP  00b6 movzbw rm8 r16
                    688: dpP  00b6 movzbl rm8 r32
                    689: dpXP 00b7 movzwl rm16 r32
                    690: G      mul                     # Unsigned multiply
                    691: A3   f704 mul  m32
                    692: 3    f604 mulb rm8 al
                    693: 3    f604 mulb rm8
                    694: w3   f704 mulw rm16 ax
                    695: w3   f704 mulw rm16
                    696: d3   f704 mull rm32 eax
                    697: d3   f704 mull rm32
                    698: G      neg             # Negate
                    699: A3l  f703 neg  m32
                    700: 3l   f603 negb rm8
                    701: w3l  f703 negw rm16
                    702: d3l  f703 negl rm32
                    703: G      not             # Invert bits
                    704: A3l  f702 not  m32
                    705: 3l   f602 notb rm8
                    706: w3l  f702 notw rm16
                    707: d3l  f702 notl rm32
                    708: G      or      # Logical inclusive OR
                    709: A1l  8301 or   imm8s m32
                    710: d1l  8301 orl  imm8s rm32
                    711: w1l  8301 orw  imm8s rm16
                    712: l    000c orb  imm8 al
                    713: wl   000d orw  imm16 ax
                    714: dl   000d orl  imm32 eax
                    715: dl   000d orl  imm32
                    716: 1l   8001 orb  imm8 rm8
                    717: w1l  8101 orw  imm16 rm16
                    718: d1l  8101 orl  imm32 rm32
                    719: lP   000a orb  rm8 r8
                    720: wlP  000b orw  rm16 r16
                    721: dlP  000b orl  rm32 r32
                    722: lP   0008 orb  r8 rm8
                    723: wlP  0009 orw  r16 rm16
                    724: dlP  0009 orl  r32 rm32
                    725: G      out             # Output from port
                    726: -    00e6 outb imm8
                    727: w    00e7 outw imm8
                    728: d    00e7 outl imm8
                    729: -    00ee outb atdx
                    730: w    00ef outw atdx
                    731: d    00ef outl atdx
                    732: -    00ee out  al dx
                    733: w    00ef out  ax dx
                    734: d    00ef out  eax dx
                    735: G      pop             # Pop a word from the stack
                    736: wa   0058 popw r16
                    737: da   0058 popl r32
                    738: -    001f popw ds
                    739: -    0007 popw es
                    740: -    0017 popw ss
                    741: p    00a1 popw fs
                    742: p    00a9 popw gs
                    743: w8   8f00 popw m16
                    744: d8   8f00 popl m32
                    745: G      popa                    # Pop all
                    746: w    0061 popaw
                    747: d    0061 popal
                    748: G      popf                    # Pop stack into flags
                    749: w    009d popfw
                    750: d    009d popfl
                    751: G      push            # Push a word on the stack
                    752: wa   0050 pushw        r16
                    753: da   0050 pushl        r32
                    754: -    006a pushb        imm8s
                    755: w    0068 pushw        imm16
                    756: d    0068 pushl        imm32
                    757: -    000e pushw        cs
                    758: -    001e pushw        ds
                    759: -    0006 pushw        es
                    760: -    0016 pushw        ss
                    761: p    00a0 pushw        fs
                    762: p    00a8 pushw        gs
                    763: w5   ff06 pushw        m16
                    764: d5   ff06 pushl        m32
                    765: G      pusha           # Push all
                    766: w    0060 pushaw
                    767: d    0060 pushal
                    768: G      pushf           # Push flags
                    769: w    009c pushfw
                    770: d    009c pushfl
                    771: G      rcl             # Rotate carry left
                    772: A2   d102 rcl  con1 m32
                    773: A2   d102 rcl  m32
                    774: A2   d302 rcl  cl m32
                    775: A2   c102 rcl  imm8 m32
                    776: 2    d002 rclb con1 rm8
                    777: 2    d002 rclb rm8
                    778: 2    d202 rclb cl rm8
                    779: 2    c002 rclb imm8 rm8
                    780: w2   d102 rclw con1 rm16
                    781: w2   d102 rclw rm16
                    782: w2   d302 rclw cl rm16
                    783: w2   c102 rclw imm8 rm16
                    784: d2   d102 rcll con1 rm32
                    785: d2   d102 rcll rm32
                    786: d2   d302 rcll cl rm32
                    787: d2   c102 rcll imm8 rm32
                    788: G      rcr             # Rotate carry right
                    789: A2   d103 rcr  con1 m32
                    790: A2   d103 rcr  m32
                    791: A2   d303 rcr  cl m32
                    792: A2   c103 rcr  imm8 m32
                    793: 2    d003 rcrb con1 rm8
                    794: 2    d003 rcrb rm8
                    795: 2    d203 rcrb cl rm8
                    796: 2    c003 rcrb imm8 rm8
                    797: w2   d103 rcrw con1 rm16
                    798: w2   d103 rcrw rm16
                    799: w2   d303 rcrw cl rm16
                    800: w2   c103 rcrw imm8 rm16
                    801: d2   d103 rcrl con1 rm32
                    802: d2   d103 rcrl rm32
                    803: d2   d303 rcrl cl rm32
                    804: d2   c103 rcrl imm8 rm32
                    805: G      rol             # Rotate left
                    806: A2   d100 rol  con1 m32
                    807: A2   d100 rol  m32
                    808: A2   d300 rol  cl m32
                    809: A2   c100 rol  imm8 m32
                    810: 2    d000 rolb con1 rm8
                    811: 2    d000 rolb rm8
                    812: 2    d200 rolb cl rm8
                    813: 2    c000 rolb imm8 rm8
                    814: w2   d100 rolw con1 rm16
                    815: w2   d100 rolw rm16
                    816: w2   d300 rolw cl rm16
                    817: w2   c100 rolw imm8 rm16
                    818: d2   d100 roll con1 rm32
                    819: d2   d100 roll rm32
                    820: d2   d300 roll cl rm32
                    821: d2   c100 roll imm8 rm32
                    822: G      ror             # Rotate right
                    823: A2   d101 ror  con1 m32
                    824: A2   d101 ror  m32
                    825: A2   d301 ror  cl m32
                    826: A2   c101 ror  imm8 m32
                    827: 2    d001 rorb con1 rm8
                    828: 2    d001 rorb rm8
                    829: 2    d201 rorb cl rm8
                    830: 2    c001 rorb imm8 rm8
                    831: w2   d101 rorw con1 rm16
                    832: w2   d101 rorw rm16
                    833: w2   d301 rorw cl rm16
                    834: w2   c101 rorw imm8 rm16
                    835: d2   d101 rorl con1 rm32
                    836: d2   d101 rorl rm32
                    837: d2   d301 rorl cl rm32
                    838: d2   c101 rorl imm8 rm32
                    839: G      sal             # Shift arithmetic left
                    840: A2   d104 sal  con1 m32
                    841: A2   d104 sal  m32
                    842: A2   d304 sal  cl m32
                    843: A2   c104 sal  imm8 m32
                    844: 2    d004 salb con1 rm8
                    845: 2    d004 salb rm8
                    846: 2    d204 salb cl rm8
                    847: 2    c004 salb imm8 rm8
                    848: w2   d104 salw con1 rm16
                    849: w2   d104 salw rm16
                    850: w2   d304 salw cl rm16
                    851: w2   c104 salw imm8 rm16
                    852: d2   d104 sall con1 rm32
                    853: d2   d104 sall rm32
                    854: d2   d304 sall cl rm32
                    855: d2   c104 sall imm8 rm32
                    856: G      shl             # Shift arithmetic left
                    857: A2   d104 shl  con1 m32
                    858: A2   d104 shl  m32
                    859: A2   d304 shl  cl m32
                    860: A2   c104 shl  imm8 m32
                    861: 2    d004 shlb con1 rm8
                    862: 2    d004 shlb rm8
                    863: 2    d204 shlb cl rm8
                    864: 2    c004 shlb imm8 rm8
                    865: w2   d104 shlw con1 rm16
                    866: w2   d104 shlw rm16
                    867: w2   d304 shlw cl rm16
                    868: w2   c104 shlw imm8 rm16
                    869: d2   d104 shll con1 rm32
                    870: d2   d104 shll rm32
                    871: d2   d304 shll cl rm32
                    872: d2   c104 shll imm8 rm32
                    873: G      sar             # Shift arithmetic right
                    874: A2   d107 sar  con1 m32
                    875: A2   d107 sar  m32
                    876: A2   d307 sar  cl m32
                    877: A2   c107 sar  imm8 m32
                    878: 2    d007 sarb con1 rm8
                    879: 2    d007 sarb rm8
                    880: 2    d207 sarb cl rm8
                    881: 2    c007 sarb imm8 rm8
                    882: w2   d107 sarw con1 rm16
                    883: w2   d107 sarw rm16
                    884: w2   d307 sarw cl rm16
                    885: w2   c107 sarw imm8 rm16
                    886: d2   d107 sarl con1 rm32
                    887: d2   d107 sarl rm32
                    888: d2   d307 sarl cl rm32
                    889: d2   c107 sarl imm8 rm32
                    890: G      shr             # Shift right
                    891: A2   d105 shr  con1 m32
                    892: A2   d105 shr  m32
                    893: A2   d305 shr  cl m32
                    894: A2   c105 shr  imm8 m32
                    895: 2    d005 shrb con1 rm8
                    896: 2    d005 shrb rm8
                    897: 2    d205 shrb cl rm8
                    898: 2    c005 shrb imm8 rm8
                    899: w2   d105 shrw con1 rm16
                    900: w2   d105 shrw rm16
                    901: w2   d305 shrw cl rm16
                    902: w2   c105 shrw imm8 rm16
                    903: d2   d105 shrl con1 rm32
                    904: d2   d105 shrl rm32
                    905: d2   d305 shrl cl rm32
                    906: d2   c105 shrl imm8 rm32
                    907: G      sbb     # Subtract with borrow
                    908: A1l  8303 sbb  imm8s rm32
                    909: d1l  8303 sbbl imm8s rm32
                    910: w1l  8303 sbbw imm8s rm16
                    911: l    001c sbbb imm8 al
                    912: wl   001d sbbw imm16 ax
                    913: dl   001d sbbl imm32 eax
                    914: dl   001d sbbl imm32
                    915: 1l   8003 sbbb imm8 rm8
                    916: w1l  8103 sbbw imm16 rm16
                    917: d1l  8103 sbbl imm32 rm32
                    918: lP   001a sbbb rm8 r8
                    919: wlP  001b sbbw rm16 r16
                    920: dlP  001b sbbl rm32 r32
                    921: lP   0018 sbbb r8 rm8
                    922: wlP  0019 sbbw r16 rm16
                    923: dlP  0019 sbbl r32 rm32
                    924: G      shld    # Shift double precision left
                    925: wp   00a4 shldw        imm8 r16 rm16
                    926: dp   00a4 shldl        imm8 r32 rm32
                    927: wp   00a5 shldw        cl r16 rm16 
                    928: dp   00a5 shldl        cl r32 rm32
                    929: G      shrd    # Shift double precision right
                    930: wp   00ac shrdw        imm8 r16 rm16
                    931: dp   00ac shrdl        imm8 r32 rm32
                    932: wp   00ad shrdw        cl r16 rm16
                    933: dp   00ad shrdl        cl r32 rm32
                    934: wp   00ad shrdw r16 rm16
                    935: dp   00ad shrdl r32 rm32
                    936: G      sub     # Subtract
                    937: A1l  8305 sub  imm8s m32
                    938: d1l  8305 subl imm8s rm32
                    939: w1l  8305 subw imm8s rm16
                    940: l    002c subb imm8 al
                    941: wl   002d subw imm16 ax
                    942: dl   002d subl imm32 eax
                    943: dl   002d subl imm32
                    944: 1l   8005 subb imm8 rm8
                    945: w1l  8105 subw imm16 rm16
                    946: d1l  8105 subl imm32 rm32
                    947: lP   002a subb rm8 r8
                    948: wlP  002b subw rm16 r16
                    949: dlP  002b subl rm32 r32
                    950: lP   0028 subb r8 rm8
                    951: wlP  0029 subw r16 rm16
                    952: dlP  0029 subl r32 rm32
                    953: G      test    # Logical compare
                    954: A3   f600 test imm8 m32
                    955: -    00a8 testb        imm8 al
                    956: w    00a9 testw        imm16 ax
                    957: d    00a9 testl        imm32 eax
                    958: d    00a9 testl        imm32
                    959: 3    f600 testb        imm8 rm8
                    960: w3   f700 testw        imm16 rm16
                    961: d3   f700 testl        imm32 rm32
                    962: P    0084 testb        r8 rm8
                    963: wP   0085 testw        r16 rm16
                    964: dP   0085 testl        r32 rm32
                    965: G      xchg    # Exchange register
                    966: wa   0090 xchgw        r16 ax
                    967: wa   0090 xchgw        ax r16
                    968: da   0090 xchgl        r32 eax
                    969: da   0090 xchgl        r32
                    970: da   0090 xchgl        eax r32
                    971: lP   0086 xchgb        rm8 r8
                    972: wlP  0087 xchgw        rm16 r16
                    973: dlP  0087 xchgl        rm32 r32
                    974: lP   0086 xchgb r8 rm8
                    975: wlP  0087 xchgw        r16 rm16
                    976: dlP  0087 xchgl        r32 rm32
                    977: G      xor     # Logical exclusive OR
                    978: A1l  8306 xor  imm8s m32
                    979: d1l  8306 xorl imm8s rm32
                    980: w1l  8306 xorw imm8s rm16
                    981: l    0034 xorb imm8 al
                    982: wl   0035 xorw imm16 ax
                    983: dl   0035 xorl imm32 eax
                    984: dl   0035 xorl imm32
                    985: 1l   8006 xorb imm8 rm8
                    986: w1l  8106 xorw imm16 rm16
                    987: d1l  8106 xorl imm32 rm32
                    988: lP   0032 xorb rm8 r8
                    989: wlP  0033 xorw rm16 r16
                    990: dlP  0033 xorl rm32 r32
                    991: lP   0030 xorb r8 rm8
                    992: wlP  0031 xorw r16 rm16
                    993: dlP  0031 xorl r32 rm32
                    994: + 2 # Preloaded symbol table
                    995: al     REG             0 1
                    996: ax     REG             0 2
                    997: eax    REG             0 4
                    998: cl     REG             1 1
                    999: cx     REG             1 2
                   1000: ecx    REG             1 4
                   1001: dl     REG             2 1
                   1002: dx     REG             2 2
                   1003: edx    REG             2 4
                   1004: bl     REG             3 1
                   1005: bx     REG             3 2
                   1006: ebx    REG             3 4
                   1007: ah     REG             4 1
                   1008: sp     REG             4 2
                   1009: esp    REG             4 4
                   1010: ch     REG             5 1
                   1011: bp     REG             5 2
                   1012: ebp    REG             5 4
                   1013: dh     REG             6 1
                   1014: si     REG             6 2
                   1015: esi    REG             6 4
                   1016: bh     REG             7 1
                   1017: di     REG             7 2
                   1018: edi    REG             7 4
                   1019: # Segment regs
                   1020: es     SREG            0 2
                   1021: cs     SREG            1 2
                   1022: ss     SREG            2 2
                   1023: ds     SREG            3 2
                   1024: fs     SREG            4 2
                   1025: gs     SREG            5 2
                   1026: # Control registers (CR1 is missing)
                   1027: cr0    CREG            0 4     
                   1028: cr2    CREG            2 4
                   1029: cr3    CREG            3 4
                   1030: # Debug registers (DR4 and DR5 missing)
                   1031: dr0    DREG            0 4 
                   1032: dr1    DREG            1 4 
                   1033: dr2    DREG            2 4 
                   1034: dr3    DREG            3 4 
                   1035: dr6    DREG            6 4 
                   1036: dr7    DREG            7 4 
                   1037: # Test registers (TR0 - TR5 missing)
                   1038: tr6    TREG            6 4
                   1039: tr7    TREG            7 4
                   1040: # Miscellaneous operators
                   1041: %st    FSTACK          0 0
                   1042: .rem   REM             0 0
                   1043: .div   DIVIDE          0 4
                   1044: .defined DEFINED       0 4
                   1045: .sizeof        SIZEOF          0 4
                   1046: .segment SEGMENT       0 4
                   1047: .location LOCATION     0 4
                   1048: .string TOSTRING       0 4
                   1049: .number TONUMBER       0 4
                   1050: .float TOFLOAT         0 4
                   1051: .parmct PARMCT         0 4
                   1052: + 3 # Assembler directives
                   1053: 1      .fail   ERROR   CMD     # print message as error
                   1054: 0      .warn   ERROR   CMD     # print message as warning
                   1055: 0      .mexit  MEXIT   NCMD    # exit current macro
                   1056: 0      .shift  SHIFT   ICMD    # shift macro parms
                   1057: 0      .org    ORG     DATA    # move current location
                   1058: 0      .if     IF      ICMD    # conditional assembly
                   1059: 0      .else   ELSE    NCMD    # connects to if
                   1060: 0      .endi   ENDI    NCMD    # end if
                   1061: 0      .while  WHILE   ICMD    # conditional assembly loop
                   1062: 0      .endw   ENDW    NCMD    # end while
                   1063: 0      .macro  MACRO   DCMD    # declare macro
                   1064: 0      -       MAC     CMD     # Macro expansion no opcode.
                   1065: 0      .endm   ENDM    NCMD    # end macro declaration
                   1066: 0      .include INCLUDE CMD    # include file
                   1067: 0      .equ    EQU     ICMD    # newlab  .equ  expr
                   1068: 0      .define EQUS    CMD     # newstr  .define anything
                   1069: 0      .undef  UNDEFINE CMD    #         .undef  newstr
                   1070: 1      .list   LIST    NCMD    # Turn on listing if -l was on
                   1071: 0      .nolist LIST    NCMD    # Turn off listing
                   1072: 0      .llen   LLEN    ICMD    # set print line length, default 112
                   1073: 0      .plen   PLEN    ICMD    # page length, default 56
                   1074: 1      .page   PAGE    NCMD    # Turn on page breaks
                   1075: 0      .eject  EJECT   NCMD    # Force a page break
                   1076: 0      .mlist  MLIST   CMD     # list macro expansions
                   1077: 0      .ttl    TITLE   CMD     # Set page title
                   1078: 0      .section SECTION CMD    # Set section
                   1079: 0      .nopage PAGE    NCMD    # Turn off page breaks
                   1080: 0      .byte   DATA    DATA    # .byte val [,val]
                   1081: 1      .word   DATA    DATA    # .word val [,val]
                   1082: 1      .2byte  UDATA   DATA    # .2byte val, val
                   1083: 1      .value  DATA    DATA    # .value val [,val]
                   1084: 2      .long   DATA    DATA    # .long val [,val]
                   1085: 2      .4byte  UDATA   DATA    # .4byte val, [val]
                   1086: 3      .float  DATA    DATA    # .float val [,val]
                   1087: 4      .double DATA    DATA    # .double val [,val]
                   1088: 5      .string DATA    DATA    # .string astring
                   1089: 2      .comm   COMM    ECMDX   # .comm name expr
                   1090: 2      .lcomm  COMM    ECMDX   # .lcomm name expr
                   1091: 1      .alignon  ALIGNON NCMD  # align non char data objects
                   1092: 0      .alignoff ALIGNON NCMD  # don't align non char data objects
                   1093: 0      .align  ALIGN   DATA    # .align val [, fillChar]
                   1094: 0      .even   EVEN    NCMD    # .even
                   1095: 2      .bss    SEGMENT ECMD    # .bss tag, bytes
                   1096: 2      .bssd   SEGMENT ECMD    # .bss tag, bytes
                   1097: 0      .zero   ZERO    ICMD    # .zero value
                   1098: 0      .blkb   BLKB    ICMD    # .blkb value
                   1099: 1      .data   SEGMENT NCMD    # .data
                   1100: 1      .shrd   SEGMENT NCMD    # .data
                   1101: 1      .prvd   SEGMENT NCMD    # .data
                   1102: 1      .strn   SEGMENT NCMD    # .data
                   1103: 0      .text   SEGMENT NCMD    # .text
                   1104: 10000  .previous SEGMENT NCMD  # .previous
                   1105: 0      .shri   SEGMENT NCMD    # .text
                   1106: 0      .prvi   SEGMENT NCMD    # .text
                   1107: 0      .globl  GLOBL   DATA    # .globl name [,name]
                   1108: 0      .ident  CMNT    CMD     # .ident string
                   1109: 1      .version CMNT   CMD     # .comment string
                   1110: 0      .set    SET     ECMD    # .set name, expr
                   1111: 1      .32     LMODE   NCMD    # .32
                   1112: 0      .16     LMODE   NCMD    # .16
                   1113: 0      .errataon  ERRATA NCMD  # .errataon
                   1114: 1      .errataoff ERRATA NCMD  # .errataon
                   1115: 0      .warnon  WARNINGS NCMD  # .warnon
                   1116: 1      .warnoff WARNINGS NCMD  # .warnoff
                   1117: 0      .unixorder OPORDER NCMD # .unixorder
                   1118: 1      .intelorder OPORDER NCMD # .intelorder
                   1119: 0      .bracketnorm BORDER NCMD # .bracketnorm
                   1120: 1      .bracketrev  BORDER NCMD # .bracketrev
                   1121: 0      .size   SIZE    ICMD    # .size expr
                   1122: 0      .type   TYPE    ICMD    # .type expr
                   1123: 0      .val    VAL     ICMD    # .val expr
                   1124: 0      .tag    TAG     CMD     # .tag string
                   1125: 0      .scl    SCL     ICMD    # .scl expr
                   1126: 0      .ln     LN      ICMD    # .ln expr
                   1127: 0      .line   LINE    ICMD    # .line expr
                   1128: 0      .file   FILE    CMD     # .file name
                   1129: 0      .endef  ENDF    NCMD    # .endf
                   1130: 0      .def    DEF     CMD     # .def name
                   1131: 0      .dim    DIM     DATA    # .dim expr [,expr]

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.