R53 Record RF1:5, RF2:3
R323 Record RF3:3, RF4:2, RF5:3
R233 Record RF6:2, Mid3:3, RF7:3
R413 Record RF8:4, RF9:1, RF10:3

CodeMacro AAA
DB 37H
EndM

CodeMacro AAD
DW 0AD5H
EndM

CodeMacro AAM
DW 0AD4H
EndM

CodeMacro AAS
DB 3FH
EndM



CodeMacro Adc    dst:Eb, src:Db
Segfix dst
DB 80H
ModRm 2, dst
DW src
EndM

CodeMacro Adc    dst:Ew, src:Db
Segfix dst
DB 81H
ModRm 2, dst
DW src
EndM

CodeMacro Adc    dst:Ew, src:Db(-128, 127)
Segfix dst
DB 83H
ModRM 2, dst
DB src
EndM

CodeMacro Adc    dst:Ew, src:Dw
Segfix dst
DB 81H
ModRM 2, dst
DW src
EndM

CodeMacro Adc    dst:Ab, src:Db
DB 14H
DB src
EndM

CodeMacro Adc    dst:Aw, src:Db
DB 15H
DW src
EndM

CodeMacro Adc    dst:Aw, src:Dw
DB 15H
DW src
EndM

CodeMacro Adc    dst:Eb, src:Rb
Segfix dst
DB 10H
ModRM src, dst
EndM

CodeMacro Adc    dst:Ew, src:Rw
Segfix dst
DB 11H
ModRM src, dst
EndM

CodeMacro Adc    dst:Rb, src:Eb
Segfix src
DB 12H
ModRM dst, src
EndM

CodeMacro Adc    dst:Rw, src:Ew
Segfix src
DB 13H
ModRM dst, src
EndM



CodeMacro Add    dst:Eb, src:Db
Segfix dst
DB 80H
ModRM 0, dst
DB src
EndM

CodeMacro Add    dst:Ew, src:Db
Segfix dst
DB 81H
ModRM 0, dst
DW src
EndM

CodeMacro Add    dst:Ew, src:Db(-128,127)
Segfix dst
DB 83H
ModRM 0, dst
DB src
EndM

CodeMacro Add    dst:Ew, src:Dw
Segfix dst
DB 81H
ModRM 0, dst
DW src
EndM

CodeMacro Add    dst:Ab, src:Db
DB 04H
DB src
EndM

CodeMacro Add    dst:Aw, src:Db
DB 05H
DW src
EndM

CodeMacro Add    dst:Aw, src:Dw
DB 05H
DW src
EndM

CodeMacro Add    dst:Eb, src:Rb
Segfix dst
DB 0
ModRM src, dst
EndM

CodeMacro Add    dst:Ew, src:Rw
Segfix dst
DB 1
ModRM src, dst
EndM

CodeMacro Add    dst:Rb, src:Eb
Segfix src
DB 2
ModRM dst, src
EndM

CodeMacro Add    dst:Rw, src:Ew
Segfix src
DB 3
ModRM dst, src
EndM



CodeMacro And    dst:Eb, src:Db
Segfix dst
DB 80H
ModRM 4, dst
DB src
EndM

CodeMacro And    dst:Ew, src:Db
Segfix dst
DB 81H
ModRM 4, dst
DW src
EndM

CodeMacro And    dst:Ew, src:Dw
Segfix dst
DB 81H
ModRM 4, dst
DW src
EndM

CodeMacro And    dst:Ab, src:Db
DB 24H
DB src
EndM

CodeMacro And    dst:Aw, src:Db
DB 25H
DW src
EndM

CodeMacro And    dst:Aw, src:Dw
DB 25H
DW src
EndM

CodeMacro And    dst:Eb, src:Rb
Segfix dst
DB 20H
ModRM src, dst
EndM

CodeMacro And    dst:Ew, src:Rw
Segfix dst
DB 21H
ModRM src, dst
EndM

CodeMacro And    dst:Rb, src:Eb
Segfix src
DB 22H
ModRM dst, src
EndM

CodeMacro And    dst:Rw, src:Ew
Segfix src
DB 23H
ModRM dst, src
EndM


CodeMacro Call    addr:Ew 
Segfix addr
DB 0FFH
ModRM 2, addr
EndM

CodeMacro Call    addr:Ed
Segfix addr
DB 0FFH
ModRM 3, addr
EndM

CodeMacro Call    addr:Cd
DB 9AH
DD addr
EndM

CodeMacro Call    addr:Cb
DB 0E8H
RelW addr
EndM

CodeMacro Call    addr:Cw
DB 0E8H
RelW addr
EndM


CodeMacro CBW    
DB 98H
EndM

CodeMacro CLC    
DB 0F8H
EndM

CodeMacro CLD    
DB 0FCH
EndM

CodeMacro CLI    
DB 0FAH
EndM

CodeMacro CMC    
DB 0F5H
EndM


CodeMacro Cmp    dst:Eb, src:Db
Segfix dst
DB 80H
ModRM 7, dst
DB src
EndM

CodeMacro Cmp    dst:Ew, src:Db
Segfix dst
DB 81H
ModRM 7, dst
DW src
EndM

CodeMacro Cmp    dst:Ew, src:Db(-128, 127)
Segfix dst
DB 83H
ModRM 7, dst
DB src
EndM

CodeMacro Cmp    dst:Ew, src:Dw
Segfix dst
DB 81H
ModRM 7, dst
DW src
EndM

CodeMacro Cmp    dst:Ab, src:Db
DB 3CH
DB src
EndM

CodeMacro Cmp    dst:Aw, src:Db
DB 3DH
DW src
EndM

CodeMacro Cmp    dst:Aw, src:Dw
DB 3DH
DW src
EndM

CodeMacro Cmp    dst:Eb, src:Rb
Segfix dst
DB 38H
ModRM src, dst
EndM

CodeMacro Cmp    dst:Ew, src:Rw
Segfix dst
DB 39H
ModRM src, dst
EndM

CodeMacro Cmp    dst:Rb, src:Eb
Segfix src
DB 3AH
ModRM dst, src
EndM

CodeMacro Cmp    dst:Rw, src:Ew
Segfix src
DB 3BH
ModRM dst, src
EndM


CodeMacro CmpS    Sl←ptr:Eb, Dl←ptr:Eb
NoSegfix ES, Dl←ptr
Segfix Sl←ptr
DB 0A6H
EndM

CodeMacro CmpS    Sl←ptr:Ew, Dl←ptr:Ew
NoSegfix ES, Dl←ptr
Segfix Sl←ptr
DB 0A7H
EndM

CodeMacro CmpSB    
DB 0A65H
EndM

CodeMacro CmpSW    
DB 0A7H
EndM

CodeMacro CWD    
DB 99H
EndM

CodeMacro DAA    
DB 027H
EndM

CodeMacro DAS    
DB 02FH
EndM

CodeMacro Dec dst:Eb    
Segfix dst
DB 0FEH
ModRM 1,dst
EndM

CodeMacro Dec dst:Ew    
Segfix dst
DB 0FFH
ModRM 1,dst
EndM

CodeMacro Dec dst:Rw    
R53 <01001B,dst>
EndM

CodeMacro Div divisor:Eb    
Segfix divisor
DB 0F6H
ModRM 6,divisor
EndM

CodeMacro Div divisor:Ew    
Segfix divisor
DB 0F7H
ModRM 6,divisor
EndM

CodeMacro Esc opcode:Db(0,63),addr:Eb    
Segfix addr
R53 <11011B,opcode.mid3>
ModRM opcode,addr
EndM

CodeMacro Esc opcode:Db(0,63),addr:Ew    
Segfix addr
R53 <11011B,opcode.mid3>
ModRM opcode,addr
EndM

CodeMacro Esc opcode:Db(0,63),addr:Ed    
Segfix addr
R53 <11011B,opcode.mid3>
ModRM opcode,addr
EndM

CodeMacro Hlt    
DB 0F4H
EndM

CodeMacro IDiv divisor:Eb    
Segfix divisor
DB 0F6H
ModRM 7,divisor
EndM

CodeMacro IDiv divisor:Ew    
Segfix divisor
DB 0F7H
ModRM 7,divisor
EndM

CodeMacro Imul mplier:Eb    
Segfix mplier
DB 0F6H
ModRM 5,mplier
EndM

CodeMacro Imul mplier:Ew    
Segfix mplier
DB 0F7H
ModRM 5,mplier
EndM

CodeMacro In dst:Ab,port:Db    
DB 0E4H
DB port
EndM

CodeMacro In dst:Aw,port:Db    
DB 0E5H
DB port
EndM

CodeMacro In dst:Ab,port:Rw(DX)    
DB 0ECH
EndM

CodeMacro In dst:Aw,port:Rw(DX)    
DB 0EDH
EndM


CodeMacro Inc dst:Eb    
Segfix dst
DB 0FEH
ModRM 0,dst
EndM

CodeMacro Inc dst:Ew    
Segfix dst
DB 0FFH
ModRM 0,dst
EndM

CodeMacro Inc dst:Rw    
R53 <01000B,dst>
EndM


CodeMacro Int itype:Db    
DB 0CDH
DB itype
EndM

CodeMacro Int itype:Db(3)    
DB 0CCH
EndM

CodeMacro IntO     
DB 0CEH
EndM

CodeMacro Iret     
DB 0CFH
EndM

CodeMacro JA place:Cb
DB 77H
RelB place
EndM

CodeMacro JAE place:Cb
DB 73H
RelB place
EndM

CodeMacro JB place:Cb
DB 72H
RelB place
EndM

CodeMacro JBE place:Cb
DB 76H
RelB place
EndM

CodeMacro JCXZ place:Cb
DB 0E3H
RelB place
EndM

CodeMacro JE place:Cb
DB 74H
RelB place
EndM

CodeMacro JG place:Cb
DB 7FH
RelB place
EndM

CodeMacro JGE place:Cb
DB 7DH
RelB place
EndM

CodeMacro JL place:Cb
DB 7CH
RelB place
EndM

CodeMacro JLE place:Cb
DB 7EH
RelB place
EndM

CodeMacro Jmpfar place:Cw,segaddr:Dw
DB 0EAH
DW place
DW segaddr
EndM

CodeMacro Jmp place:Ew
Segfix place
DB 0FFH
ModRM 4,place
EndM

CodeMacro Jmp place:Md
Segfix place
DB 0FFH
ModRM 5,place
EndM

CodeMacro Jmp place:Cd
DB 0EAH
DD place
EndM

CodeMacro Jmp place:Cb
DB 0EBH
RelB place
EndM

CodeMacro Jmp place:Cw
DB 0E9H
RelW place
EndM

CodeMacro JNE place:Cb
DB 75H
RelB place
EndM

CodeMacro JNO place:Cb
DB 71H
RelB place
EndM

CodeMacro JNP place:Cb
DB 7BH
RelB place
EndM

CodeMacro JNS place:Cb
DB 79H
RelB place
EndM

CodeMacro JO place:Cb
DB 70H
RelB place
EndM

CodeMacro JP place:Cb
DB 7AH
RelB place
EndM

CodeMacro JS place:Cb
DB 78H
RelB place
EndM

CodeMacro LAHF    
DB 9FH
EndM

CodeMacro LDS dst:Rw,src:Ed    
Segfix src
DB 0C5H
ModRM dst,src
EndM

CodeMacro LES dst:Rw,src:Ed    
Segfix src
DB 0C4H
ModRM dst,src
EndM

CodeMacro LEA dst:Rw,src:Cw    
DB 8DH
ModRM dst,src
EndM

CodeMacro LEA dst:Rw,src:M    
DB 8DH
ModRM dst,src
EndM

CodeMacro Lock Prefx   
DB 0F0H
EndM

CodeMacro LodS SI←ptr:Mb    
Segfix SI←ptr
DB 0ACH
EndM

CodeMacro LodS SI←ptr:Mw    
Segfix SI←ptr
DB 0ADH
EndM

CodeMacro LodSB
DB 0ACH
EndM

CodeMacro LodSW
DB 0ADH
EndM

CodeMacro Loop place:Cb
DB 0E2H
RelB place
EndM

CodeMacro LoopE place:Cb
DB 0E1H
RelB place
EndM

CodeMacro LoopNE place:Cb
DB 0E0H
RelB place
EndM



CodeMacro Mov dst:Eb,src:Db    
Segfix dst
DB 0C6H
ModRM 0,dst
DB src
EndM

CodeMacro Mov dst:Ew,src:Db    
Segfix dst
DB 0C7H
ModRM 0,dst
DW src
EndM

CodeMacro Mov dst:Ew,src:Dw    
Segfix dst
DB 0C7H
ModRM 0,dst
DW src
EndM

CodeMacro Mov dst:Rb,src:Db    
R53 <10110B,dst>
DB src
EndM

CodeMacro Mov dst:Rw,src:Db    
R53 <10111B,dst>
DW src
EndM

CodeMacro Mov dst:Rw,src:Dw    
R53 <10111B,dst>
DW src
EndM

CodeMacro MOV dst:Eb,src:Rb    
Segfix dst
DB 88H
ModRM src,dst
EndM

CodeMacro Mov dst:Ew,src:Rw    
Segfix dst
DB 89H
ModRM src,dst
EndM

CodeMacro Mov dst:Rb,src:Eb    
Segfix src
DB 8AH
ModRM dst,src
EndM

CodeMacro Mov dst:Rw,src:Ew    
Segfix src
DB 8BH
ModRM dst,src
EndM

CodeMacro Mov dst:Ew,src:S    
Segfix dst
DB 08CH
ModRM src,dst
EndM

CodeMacro Mov dst:S(ES),src:Ew    
Segfix src
DB 08EH
ModRM dst,src
EndM

CodeMacro Mov dst:S(SS,DS),src:Ew    
Segfix src
DB 08EH
ModRM dst,src
EndM

CodeMacro Mov dst:Ab,src:Xb    
Segfix src
DB 0A0H
DW src
EndM

CodeMacro Mov dst:Aw,src:Xw    
Segfix src
DB 0A1H
DW src
EndM

CodeMacro Mov dst:Xb,src:Ab    
Segfix dst
DB 0A2H
DW dst
EndM

CodeMacro Mov dst:Xw,src:Aw    
Segfix dst
DB 0A3H
DW dst
EndM

CodeMacro MOVMW dst:Dw,src:Dw    
DB 0C7H
DB 006H
DW dst
DW src
EndM

CodeMacro MOVMB dst:Dw,src:Db    
DB 0C6H
DB 006H
DW dst
DB src
EndM

CodeMacro MovS SI←ptr:Mb,DI←ptr:Mb    
NoSegfix ES,SI←ptr
Segfix DI←ptr
Db 0A4H
EndM

CodeMacro MovS SI←ptr:Mw,DI←ptr:Mw    
NoSegfix ES,SI←ptr
Segfix DI←ptr
Db 0A5H
EndM

CodeMacro MovSB    
DB 0A4H
EndM

CodeMacro MovSW    
DB 0A5H
EndM

CodeMacro Mul mplier:Eb   
Segfix mplier
DB 0F6H
ModRM 4,mplier
EndM

CodeMacro Mul mplier:Ew    
Segfix mplier
DB 0F7H
ModRM 4,mplier
EndM

CodeMacro Neg dst:Eb    
Segfix dst
DB 0F6H
ModRM 3,dst
EndM

CodeMacro Neg dst:Ew    
Segfix dst
DB 0F7H
ModRM 3,dst
EndM

CodeMacro Nil    
EndM

CodeMacro Nop    
DB 90H
EndM

CodeMacro Not dst:Eb    
Segfix dst
DB 0F6H
ModRM 2,dst
EndM

CodeMacro Not dst:Ew    
Segfix dst
DB 0F7H
ModRM 2,dst
EndM



CodeMacro OR dst:Eb,src:Db    
Segfix dst
DB 80H
ModRM 1,dst
DB src
EndM

CodeMacro OR dst:Ew,src:Dw    
Segfix dst
DB 81H
ModRM 1,dst
DW src
EndM

CodeMacro OR dst:Ew,src:Db    
Segfix dst
DB 81H
ModRM 1,dst
DW src
EndM

CodeMacro OR dst:Ab,src:Db    
DB 0CH
DB src
EndM

CodeMacro OR dst:Aw,src:Db    
DB 0DH
DW src
EndM

CodeMacro OR dst:Aw,src:Dw    
DB 0DH
DW src
EndM

CodeMacro OR dst:Eb,src:Rb    
Segfix dst
DB 8
ModRM src,dst
EndM

CodeMacro OR dst:Ew,src:Rw    
Segfix dst
DB 9
ModRM src,dst
EndM

CodeMacro OR dst:Rb,src:Eb  
Segfix src
DB 0AH
ModRM dst,src
EndM

CodeMacro OR dst:Rw,src:Ew    
Segfix src
DB 0BH
ModRM dst,src
EndM


CodeMacro Out port:Db,dst:Ab    
DB 0E6H
DB port
EndM

CodeMacro Out port:Db,dst:Aw    
DB 0E7H
DB port
EndM

CodeMacro Out port:Rw(DX),dst:Ab    
DB 0EEH
EndM

CodeMacro Out port:Rw(DX),dst:Aw    
DB 0EFH
EndM


CodeMacro Pop dst:Ew    
Segfix dst
DB 08FH
ModRM 0,dst
EndM

CodeMacro Pop dst:S(ES)    
R323 <0,dst,7>
EndM

CodeMacro Pop dst:S(SS,DS)    
R323 <0,dst,7>
EndM

CodeMacro Pop dst:Rw    
R53 <01011B,dst>
EndM

CodeMacro PopF    
DB 9DH
EndM


CodeMacro Push src:Ew    
Segfix src
DB 0FFH
ModRM 6,src
EndM

CodeMacro Push src:S    
R323 <0,src,6>
EndM

CodeMacro Push src:Rw    
R53 <01010B,src>
EndM

CodeMacro PushF    
DB 9CH
EndM


CodeMacro RCL dst:Eb,nbits:Db(1)    
Segfix dst
DB 0D0H
ModRM 2,dst
EndM

CodeMacro RCL dst:Ew,nbits:Db(1)    
Segfix dst
DB 0D1H
ModRM 2,dst
EndM

CodeMacro RCL dst:Eb,nbits:Rb(CL)    
Segfix dst
DB 0D2H
ModRM 2,dst
EndM

CodeMacro RCL dst:Ew,nbits:Rb(CL)    
Segfix dst  
DB 0D3H
ModRM 2,dst
EndM


CodeMacro RCR dst:Eb,nbits:Db(1)    
Segfix dst
DB 0D0H
ModRM 3,dst
EndM

CodeMacro RCR dst:Ew,nbits:Db(1)    
Segfix dst
DB 0D1H
ModRM 3,dst
EndM

CodeMacro RCR dst:Eb,nbits:Rb(CL)    
Segfix dst
DB 0D2H
ModRM 3,dst
EndM

CodeMacro RCR dst:Ew,nbits:Rb(CL)    
Segfix dst
DB 0D3H
ModRM 3,dst
EndM


CodeMacro Rep Prefx    
DB 0F3H
EndM

CodeMacro RepE Prefx    
DB 0F3H
EndM

CodeMacro RepNE Prefx    
DB 0F2H
EndM

CodeMacro Ret src:Db
R413 <0CH,PROCLEN,2>
DW src
EndM

CodeMacro Ret src:Dw
R413 <0CH,PROCLEN,2>
DW src
EndM

CodeMacro Ret
R413 <0CH,PROCLEN,3>
EndM

CodeMacro ROL dst:Eb,nbits:Db(1)    
Segfix dst
DB 0D0H
ModRM 0,dst
EndM

CodeMacro ROL dst:Ew,nbits:Db(1)    
Segfix dst  
DB 0D1H
ModRM 0,dst
EndM

CodeMacro ROL dst:Eb,nbits:Rb(CL)    
Segfix dst
DB 0D2H
ModRM 0,dst
EndM

CodeMacro ROL dst:Ew,nbits:Rb(CL)    
Segfix dst
DB 0D3H
ModRM 0,dst
EndM


CodeMacro ROR dst:Eb,nbits:Db(1)    
Segfix dst
DB 0D0H
ModRM 1,dst
EndM

CodeMacro ROR dst:Ew,nbits:Db(1)    
Segfix dst
DB 0D1H
ModRM 1,dst
EndM

CodeMacro ROR dst:Eb,nbits:Rb(CL)    
Segfix dst  
DB 0D2H
ModRM 1,dst
EndM

CodeMacro ROR dst:Ew,nbits:Rb(CL)    
Segfix dst
DB 0D3H
ModRM 1,dst
EndM


CodeMacro SAHF    
DB 9EH
EndM


CodeMacro SAL dst:Eb,count:Db(1)    
Segfix dst
DB 0D0H
ModRM 4,dst
EndM

CodeMacro SAL dst:Ew,count:Db(1)    
Segfix dst  
DB 0D1H
ModRM 4,dst
EndM

CodeMacro SAL dst:Eb,count:Rb(CL)    
Segfix dst
DB 0D2H
ModRM 4,dst
EndM

CodeMacro SAL dst:Ew,count:Rb(CL)    
Segfix dst
DB 0D3H
ModRM 4,dst
EndM


CodeMacro SAR dst:Eb,count:Db(1)    
Segfix dst
DB 0D0H
ModRM 7,dst
EndM

CodeMacro SAR dst:Ew,count:Db(1)    
Segfix dst
DB 0D1H
ModRM 7,dst
EndM

CodeMacro SAR dst:Eb,count:Rb(CL)    
Segfix dst
DB 0D2H
ModRM 7,dst
EndM

CodeMacro SAR dst:Ew,count:Rb(CL)    
Segfix dst  
DB 0D3H
ModRM 7,dst
EndM



CodeMacro Sbb dst:Eb,src:Db    
Segfix dst
DB 80H
ModRM 3,dst
DB src
EndM

CodeMacro Sbb dst:Ew,src:Db    
Segfix dst
DB 81H
ModRM 3,dst
DW src
EndM

CodeMacro Sbb dst:Ew,src:Db(-128,127)    
Segfix dst
DB 83H
ModRM 3,dst
DW src
EndM

CodeMacro Sbb dst:Ew,src:Dw    
Segfix dst
DB 81H
ModRM 3,dst
DW src
EndM

CodeMacro Sbb dst:Ab,src:Db    
DB 1CH
DB src
EndM

CodeMacro Sbb dst:Aw,src:Db    
DB 1DH
DW src
EndM

CodeMacro Sbb dst:Aw,src:Dw    
DB 1DH
DW src
EndM

CodeMacro Sbb dst:Eb,src:Rb    
Segfix dst
DB 18H
ModRM src,dst
EndM

CodeMacro Sbb dst:Ew,src:Rw    
Segfix dst
DB 19H
ModRM src,dst
EndM

CodeMacro Sbb dst:Rb,src:Eb   
Segfix src  
DB 1AH
ModRM dst,src
EndM

CodeMacro Sbb dst:Rw,src:Ew    
Segfix src  
DB 1BH
ModRM dst,src
EndM

CodeMacro ScaS DI←ptr:Mb
NoSegfix ES,DI←ptr
DB 0AEH
EndM


CodeMacro ScaS DI←ptr:Mw
NoSegfix ES,DI←ptr
DB 0AFH
EndM

CodeMacro ScaSB    
DB 0AEH
EndM

CodeMacro ScaSW    
DB 0AFH
EndM

CodeMacro SHR dst:Eb,count:Db(1)    
Segfix dst
DB 0D0H
ModRM 5,dst
EndM

CodeMacro SHR dst:Ew,count:Db(1)    
Segfix dst
DB 0D1H
ModRM 5,dst
EndM

CodeMacro SHR dst:Eb,count:Rb(CL)    
Segfix dst
DB 0D2H
ModRM 5,dst
EndM

CodeMacro SHR dst:Ew,count:Rb(CL)    
Segfix dst  
DB 0D3H
ModRM 5,dst
EndM

CodeMacro STC
DB 0F9H
EndM

CodeMacro STD
DB 0FDH
EndM

CodeMacro STI
DB 0FBH
EndM

CodeMacro StoS DI←ptr:Mb
NoSegfix ES,DI←ptr
DB 0AAH
EndM

CodeMacro StoS DI←ptr:Mw
NoSegfix ES,DI←ptr
DB 0ABH
EndM

CodeMacro StoSB
DB 0AAH
EndM

CodeMacro StoSW
DB 0ABH
EndM


CodeMacro Sub dst:Eb,src:Db
Segfix dst
DB 80H
ModRM 5,dst
DB src
EndM

CodeMacro Sub dst:Ew,src:Db    
Segfix dst
DB 81H
ModRM 5,dst
DW src
EndM

CodeMacro Sub dst:Ew,src:Db(-128,127)    
Segfix dst
DB 83H
ModRM 5,dst
DB src
EndM

CodeMacro Sub dst:Ew,src:Dw    
Segfix dst
DB 81H
ModRM 5,dst
DW src
EndM

CodeMacro Sub dst:Ab,src:Db    
DB 2CH
DB src
EndM

CodeMacro Sub dst:Aw,src:Db    
DB 02DH
DW src
EndM

CodeMacro Sub dst:Aw,src:Dw
DB 02DH
DW src
EndM

CodeMacro Sub dst:Eb,src:Rb    
Segfix dst
DB 28H
ModRM src,dst
EndM

CodeMacro Sub dst:Ew,src:Rw    
Segfix dst
DB 29H
ModRM src,dst
EndM

CodeMacro Sub dst:Rb,src:Eb   
Segfix src  
DB 2AH
ModRM dst,src
EndM


CodeMacro Sub dst:Rw,src:Ew    
Segfix src  
DB 2BH
ModRM dst,src
EndM


CodeMacro Test dst:Eb,src:Db    
Segfix dst
DB 0F6H
ModRM 0,dst
DB src
EndM

CodeMacro Test dst:Ew,src:Db    
Segfix dst
DB 0F7H
ModRM 0,dst
DW src
EndM

CodeMacro Test dst:Ew,src:Dw    
Segfix dst
DB 0F7H
ModRM 0,dst
DW src
EndM

CodeMacro Test dst:Ab,src:Db    
DB 0A8H
DB src
EndM

CodeMacro Test dst:Aw,src:Db    
DB 0A9H
DW src
EndM

CodeMacro Test dst:Aw,src:Dw    
DB 0A9H
DW src
EndM

CodeMacro Test dst:Eb,src:Rb    
Segfix dst
DB 84H
ModRM src,dst
EndM

CodeMacro Test dst:Ew,src:Rw    
Segfix dst
DB 85H
ModRM src,dst
EndM

CodeMacro Test dst:Rb,src:Eb   
Segfix src  
DB 84H
ModRM dst,src
EndM

CodeMacro Test dst:Rw,src:Ew    
Segfix src  
DB 85H
ModRM dst,src
EndM

CodeMacro Wait
DB 09BH
EndM

CodeMacro Xchg dst:Eb,src:Rb    
Segfix dst
DB 86H
ModRM src,dst
EndM

CodeMacro Xchg dst:Ew,src:Rw    
Segfix dst
DB 87H
ModRM src,dst
EndM

CodeMacro Xchg dst:Rb,src:Eb   
Segfix src  
DB 86H
ModRM dst,src
EndM

CodeMacro Xchg dst:Rw,src:Ew    
Segfix src  
DB 87H
ModRM dst,src
EndM

CodeMacro Xchg dst:Rw,src:Aw
R53 <10010B,dst>
EndM

CodeMacro Xchg dst:Aw,src:Rw
R53 <10010B,src>
EndM

CodeMacro Xlat table:Mb
Segfix table
DB 0D7H
EndM

CodeMacro XlatB
DB 0D7H
EndM

CodeMacro Xor dst:Eb,src:Db    
Segfix dst
DB 80H
ModRM 6,dst
DB src
EndM

CodeMacro Xor dst:Ew,src:Db    
Segfix dst
DB 81H
ModRM 6,dst
DW src
EndM

CodeMacro Xor dst:Ew,src:Dw    
Segfix dst
DB 81H
ModRM 6,dst
DW src
EndM

CodeMacro Xor dst:Ab,src:Db    
DB 34H
DB src
EndM

CodeMacro Xor dst:Aw,src:Db    
DB 35H
DW src
EndM


CodeMacro Xor dst:Aw,src:Dw    
DB 35H
DW src
EndM

CodeMacro Xor dst:Eb,src:Rb    
Segfix dst
DB 30H
ModRM src,dst
EndM

CodeMacro Xor dst:Ew,src:Rw    
Segfix dst
DB 31H
ModRM src,dst
EndM

CodeMacro Xor dst:Rb,src:Eb   
Segfix src  
DB 32H
ModRM dst,src
EndM

CodeMacro Xor dst:Rw,src:Ew    
Segfix src  
DB 33H
ModRM dst,src
EndM


PURGE R53,R323,R233,R413
PURGE RF1,RF2,RF3,RF4,RF5
PURGE RF6,RF7,RF8,RF9
PURGE RF10,MID3


DEFINE JC=JB#
DEFINE JNA=JBE#
DEFINE JNAE=JB#
DEFINE JNB=JAE#
DEFINE JNBE=JA#
DEFINE JNC=JAE#
DEFINE JNG=JLE#
DEFINE JNGE=JL#
DEFINE JNL=JGE#
DEFINE JNLE= G#
DEFINE JZ=JE#
DEFINE JNZ=JNE#
DEFINE JPE=JP#
DEFINE JPO=JNP#


DEFINE REPZ=REPE#
DEFINE REPNZ=REPNE#

DEFINE LOOPZ=LOOPE#
DEFINE LOOPNZ=LOOPNE#

DEFINE SHL=SAL#

END