123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- adc dst:REG, src:EADDR ==> @text1( 0x13);
- mod_RM( dst->reg, src).
- add dst:REG, src:EADDR ==> @text1( 0x3);
- mod_RM( dst->reg, src).
- ... dst:ACCU, src:DATA ==> @text1( 0x5);
- @text2( %$(src->expr)).
- ... dst:EADDR, src:DATA ==> @text1( 0x81);
- mod_RM( 0, dst);
- @text2( %$(src->expr)).
- ... dst:ACCU, src:lABEL ==> @text1( 0x5);
- @reloc2( %$(src->lab), %$(src->off), !PC_REL).
- ... dst:EADDR, src:lABEL ==> @text1( 0x81);
- mod_RM( 0, dst);
- @reloc2( %$(src->lab), %$(src->off), !PC_REL).
- and dst:REG, src:EADDR ==> @text1( 0x23);
- mod_RM( dst->reg, src).
- ... dst:ACCU, src:DATA ==> @text1( 0x25);
- @text2( %$(src->expr)).
- call dst:lABEL ==> @text1( 0xe8);
- @reloc2( %$(dst->lab), %$(dst->off), PC_REL).
- ... dst:EADDR ==> @text1( 0xff);
- mod_RM( 2, dst).
- cmp dst:REG, src:EADDR ==> @text1( 0x3b);
- mod_RM( dst->reg, src).
- ... dst:ACCU, src:DATA ==> @text1( 0x3d);
- @text2( %$(src->expr)).
- ... dst:EADDR, src:DATA ==> @text1( 0x81);
- mod_RM(7,dst);
- @text2( %$(src->expr)).
- cwd ==> @text1( 0x99).
- dec dst:REG ==> R53( 9, dst->reg).
- ... dst:EADDR ==> @text1( 0xff);
- mod_RM( 1, dst).
- div divisor:EADDR ==> @text1( 0xf7);
- mod_RM( 6, divisor).
- idiv divisor:EADDR ==> @text1( 0xf7);
- mod_RM( 7, divisor).
- inc dst:REG ==> R53( 8, dst->reg).
- ... dst:EADDR ==> @text1( 0xff);
- mod_RM( 0, dst).
- jb dst:ILB ==> @text1( 0x72);
- @text1( %dist( dst->lab)).
- je dst:ILB ==> @text1( 0x74);
- @text1( %dist( dst->lab)).
- ... dst:lABEL ==> save_op( dst);
- assemble( "jne 9f");
- jmp_instr( &saved_op);
- assemble( "9:").
- jg dst:ILB ==> @text1( 0x7f);
- @text1( %dist( dst->lab)).
- ... dst:lABEL ==> save_op( dst);
- assemble( "jle 9f");
- jmp_instr( &saved_op);
- assemble( "9:").
- jge dst:ILB ==> @text1( 0x7d);
- @text1( %dist( dst->lab)).
- ... dst:lABEL ==> save_op( dst);
- assemble( "jl 9f");
- jmp_instr( &saved_op);
- assemble( "9:").
- jl dst:ILB ==> @text1( 0x7c);
- @text1( %dist( dst->lab)).
- ... dst:lABEL ==> save_op( dst);
- assemble( "jge 9f");
- jmp_instr( &saved_op);
- assemble( "9:").
- jle dst:ILB ==> @text1( 0x7e);
- @text1( %dist( dst->lab)).
- ... dst:lABEL ==> save_op( dst);
- assemble( "jg 9f");
- jmp_instr( &saved_op);
- assemble( "9:").
- jmp dst:ILB ==> @text1( 0xeb);
- @text1( %dist( dst->lab)).
- ... dst:lABEL ==> @text1( 0xe9);
- @reloc2( %$(dst->lab), %$(dst->off), PC_REL).
- jne dst:ILB ==> @text1( 0x75);
- @text1( %dist( dst->lab)).
- ... dst:lABEL ==> save_op( dst);
- assemble( "je 9f");
- jmp_instr( &saved_op);
- assemble( "9:").
- lea dst:REG, src:EADDR ==> @text1( 0x8d);
- mod_RM( dst->reg, src).
- loop dst:ILB ==> @text1( 0xe2);
- @text1( %dist( dst->lab)).
- mov dst:REG, src:EADDR ==> mov_REG_EADDR( dst, src).
- ... dst:REG, src:DATA ==> R53( 0x17, dst->reg);
- @text2( %$(src->expr)).
- ... dst:REG, src:lABEL ==> R53( 0x17, dst->reg);
- @reloc2( %$(src->lab), %$(src->off), !PC_REL).
- ... dst:EADDR, src:REG ==> @text1( 0x89);
- mod_RM( src->reg, dst).
- ... dst:EADDR, src:DATA ==> @text1( 0xc7);
- mod_RM( 0, dst);
- @text2( %$(src->expr)).
- ... dst:EADDR, src:lABEL ==> @text1( 0xc7);
- mod_RM( 0, dst);
- @reloc2( %$(src->lab), %$(src->off), !PC_REL).
- movb dst:REG, src:EADDR ==> @text1( 0x8a);
- mod_RM( dst->reg, src).
- ... dst:EADDR, src:REG ==> @text1( 0x88);
- mod_RM( src->reg, dst).
- mul mplier:EADDR ==> @text1( 0xf7);
- mod_RM( 4, mplier).
- neg dst:EADDR ==> @text1( 0xf7);
- mod_RM( 3, dst).
- not dst:EADDR ==> @text1( 0xf7);
- mod_RM( 2, dst).
- or dst:REG, src:EADDR ==> @text1( 0x0b);
- mod_RM( dst->reg, src).
- pop dst:REG ==> R53( 0xb, dst->reg).
- ... dst:EADDR ==> @text1( 0x8f);
- mod_RM( 0, dst).
- POP dst ==> @if ( push_waiting)
- mov_instr( dst, AX_oper);
- @assign( push_waiting, FALSE).
- @else
- pop_instr( dst).
- @fi.
- push src:REG ==> R53( 0xa, src->reg).
- ... src:EADDR ==> @text1( 0xff);
- mod_RM( 6, src).
- PUSH src ==> mov_instr( AX_oper, src);
- @assign( push_waiting, TRUE).
- rcr dst:EADDR, src:CONST1 ==> @text1( 0xd1);
- mod_RM( 3, dst).
- rep ins:MOVS ==> @text1( 0xf3);
- @text1( 0xa5). /* Wie zet direction flag? */
- ret ==> @text1( 0xc3). /* Altijd NEAR! */
- rol dst:EADDR, src:REG_CL ==> @text1( 0xd3);
- mod_RM( 0, dst).
- ror dst:EADDR, src:REG_CL ==> @text1( 0xd3);
- mod_RM( 1, dst).
- sal dst:EADDR, src:REG_CL ==> @text1( 0xd3);
- mod_RM( 4, dst).
- sar dst:EADDR, src:REG_CL ==> @text1( 0xd3);
- mod_RM( 7, dst).
- ... dst:EADDR, src:CONST1 ==> @text1( 0xd1);
- mod_RM( 7, dst).
- sbb dst:REG, src:EADDR ==> @text1( 0x1b);
- mod_RM( dst->reg, src).
- ... dst:ACCU, src:DATA ==> @text1( 0x1d);
- @text2( %$(src->expr)).
- shl dst, src ==> sal_instr( dst, src).
- shr dst:EADDR, src:REG_CL ==> @text1( 0xd3);
- mod_RM( 5, dst).
- ... dst:EADDR, src:CONST1 ==> @text1( 0xd1);
- mod_RM( 5, dst).
- sub dst:REG, src:EADDR ==> @text1( 0x2b);
- mod_RM( dst->reg, src).
- ... dst:EADDR, src:DATA ==> @text1( 0x81);
- mod_RM( 5, dst);
- @text2( %$(src->expr)).
- test dst:REG, src:EADDR ==> @text1( 0x85);
- mod_RM( dst->reg, src).
- xchg dst:EADDR, src:REG ==> @text1( 0x87);
- mod_RM( src->reg, dst).
- xor dst:REG, src:EADDR ==> @text1( 0x33);
- mod_RM( dst->reg, src).
|