1 adc dst:REG, src:EADDR ==> @text1( 0x13);
2 mod_RM( dst->reg, src).
4 add dst:REG, src:EADDR ==> @text1( 0x3);
5 mod_RM( dst->reg, src).
7 ... dst:ACCU, src:DATA ==> @text1( 0x5);
8 @text2( %$(src->expr)).
10 ... dst:EADDR, src:DATA ==> @text1( 0x81);
12 @text2( %$(src->expr)).
14 ... dst:ACCU, src:lABEL ==> @text1( 0x5);
15 @reloc2( %$(src->lab), %$(src->off), !PC_REL).
17 ... dst:EADDR, src:lABEL ==> @text1( 0x81);
19 @reloc2( %$(src->lab), %$(src->off), !PC_REL).
21 and dst:REG, src:EADDR ==> @text1( 0x23);
22 mod_RM( dst->reg, src).
24 ... dst:ACCU, src:DATA ==> @text1( 0x25);
25 @text2( %$(src->expr)).
27 call dst:lABEL ==> @text1( 0xe8);
28 @reloc2( %$(dst->lab), %$(dst->off), PC_REL).
30 ... dst:EADDR ==> @text1( 0xff);
33 cmp dst:REG, src:EADDR ==> @text1( 0x3b);
34 mod_RM( dst->reg, src).
36 ... dst:ACCU, src:DATA ==> @text1( 0x3d);
37 @text2( %$(src->expr)).
39 ... dst:EADDR, src:DATA ==> @text1( 0x81);
41 @text2( %$(src->expr)).
43 cwd ==> @text1( 0x99).
45 dec dst:REG ==> R53( 9, dst->reg).
47 ... dst:EADDR ==> @text1( 0xff);
50 div divisor:EADDR ==> @text1( 0xf7);
53 idiv divisor:EADDR ==> @text1( 0xf7);
56 inc dst:REG ==> R53( 8, dst->reg).
58 ... dst:EADDR ==> @text1( 0xff);
61 jb dst:ILB ==> @text1( 0x72);
62 @text1( %dist( dst->lab)).
64 je dst:ILB ==> @text1( 0x74);
65 @text1( %dist( dst->lab)).
67 ... dst:lABEL ==> save_op( dst);
69 jmp_instr( &saved_op);
72 jg dst:ILB ==> @text1( 0x7f);
73 @text1( %dist( dst->lab)).
75 ... dst:lABEL ==> save_op( dst);
77 jmp_instr( &saved_op);
80 jge dst:ILB ==> @text1( 0x7d);
81 @text1( %dist( dst->lab)).
83 ... dst:lABEL ==> save_op( dst);
85 jmp_instr( &saved_op);
88 jl dst:ILB ==> @text1( 0x7c);
89 @text1( %dist( dst->lab)).
91 ... dst:lABEL ==> save_op( dst);
93 jmp_instr( &saved_op);
96 jle dst:ILB ==> @text1( 0x7e);
97 @text1( %dist( dst->lab)).
99 ... dst:lABEL ==> save_op( dst);
101 jmp_instr( &saved_op);
104 jmp dst:ILB ==> @text1( 0xeb);
105 @text1( %dist( dst->lab)).
107 ... dst:lABEL ==> @text1( 0xe9);
108 @reloc2( %$(dst->lab), %$(dst->off), PC_REL).
110 jne dst:ILB ==> @text1( 0x75);
111 @text1( %dist( dst->lab)).
113 ... dst:lABEL ==> save_op( dst);
115 jmp_instr( &saved_op);
118 lea dst:REG, src:EADDR ==> @text1( 0x8d);
119 mod_RM( dst->reg, src).
121 loop dst:ILB ==> @text1( 0xe2);
122 @text1( %dist( dst->lab)).
124 mov dst:REG, src:EADDR ==> mov_REG_EADDR( dst, src).
126 ... dst:REG, src:DATA ==> R53( 0x17, dst->reg);
127 @text2( %$(src->expr)).
129 ... dst:REG, src:lABEL ==> R53( 0x17, dst->reg);
130 @reloc2( %$(src->lab), %$(src->off), !PC_REL).
132 ... dst:EADDR, src:REG ==> @text1( 0x89);
133 mod_RM( src->reg, dst).
135 ... dst:EADDR, src:DATA ==> @text1( 0xc7);
137 @text2( %$(src->expr)).
139 ... dst:EADDR, src:lABEL ==> @text1( 0xc7);
141 @reloc2( %$(src->lab), %$(src->off), !PC_REL).
143 movb dst:REG, src:EADDR ==> @text1( 0x8a);
144 mod_RM( dst->reg, src).
146 ... dst:EADDR, src:REG ==> @text1( 0x88);
147 mod_RM( src->reg, dst).
149 mul mplier:EADDR ==> @text1( 0xf7);
152 neg dst:EADDR ==> @text1( 0xf7);
155 not dst:EADDR ==> @text1( 0xf7);
158 or dst:REG, src:EADDR ==> @text1( 0x0b);
159 mod_RM( dst->reg, src).
161 pop dst:REG ==> R53( 0xb, dst->reg).
163 ... dst:EADDR ==> @text1( 0x8f);
166 POP dst ==> @if ( push_waiting)
167 mov_instr( dst, AX_oper);
168 @assign( push_waiting, FALSE).
173 push src:REG ==> R53( 0xa, src->reg).
175 ... src:EADDR ==> @text1( 0xff);
178 PUSH src ==> mov_instr( AX_oper, src);
179 @assign( push_waiting, TRUE).
181 rcr dst:EADDR, src:CONST1 ==> @text1( 0xd1);
184 rep ins:MOVS ==> @text1( 0xf3);
185 @text1( 0xa5). /* Wie zet direction flag? */
187 ret ==> @text1( 0xc3). /* Altijd NEAR! */
189 rol dst:EADDR, src:REG_CL ==> @text1( 0xd3);
192 ror dst:EADDR, src:REG_CL ==> @text1( 0xd3);
195 sal dst:EADDR, src:REG_CL ==> @text1( 0xd3);
198 sar dst:EADDR, src:REG_CL ==> @text1( 0xd3);
201 ... dst:EADDR, src:CONST1 ==> @text1( 0xd1);
204 sbb dst:REG, src:EADDR ==> @text1( 0x1b);
205 mod_RM( dst->reg, src).
207 ... dst:ACCU, src:DATA ==> @text1( 0x1d);
208 @text2( %$(src->expr)).
210 shl dst, src ==> sal_instr( dst, src).
212 shr dst:EADDR, src:REG_CL ==> @text1( 0xd3);
215 ... dst:EADDR, src:CONST1 ==> @text1( 0xd1);
218 sub dst:REG, src:EADDR ==> @text1( 0x2b);
219 mod_RM( dst->reg, src).
221 ... dst:EADDR, src:DATA ==> @text1( 0x81);
223 @text2( %$(src->expr)).
225 test dst:REG, src:EADDR ==> @text1( 0x85);
226 mod_RM( dst->reg, src).
228 xchg dst:EADDR, src:REG ==> @text1( 0x87);
229 mod_RM( src->reg, dst).
231 xor dst:REG, src:EADDR ==> @text1( 0x33);
232 mod_RM( dst->reg, src).