123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- add_l src:QUICK, dst ==> code_instr( 0x5, src->val, 0x2, dst).
- ... src:IMMEDIATE, dst:A_REG ==> @if ( small( %$(src->expr)))
- @text2( 0x5088 | (%d(dst->reg) & 0x7) |
- ((%$(src->expr) & 0x7) << 9)).
- @else
- code_instr( 0xd, dst->reg, 0x7, src).
- @fi.
- ... src:IMMEDIATE, dst ==> code_opcode( 0x0, 0x3, 0x2, dst);
- code_extension( src);
- code_extension( dst).
- ... src, dst:D_REG ==> code_instr( 0xd, dst->reg, 0x6, src).
- ... src, dst:A_REG ==> code_instr( 0xd, dst->reg, 0x7, src).
- ... src:D_REG, dst ==> code_instr( 0xd, src->reg, 0x6, dst).
- and_l src:QUICK, dst ==> code_opcode( 0x0, 0x1, 0x2, dst);
- code_extension( src);
- code_extension( dst).
- ... src:IMMEDIATE, dst ==> code_opcode( 0x0, 0x1, 0x2, dst);
- code_extension( src);
- code_extension( dst).
- ... src:D_REG, dst ==> code_instr( 0xc, src->reg, 0x6, dst).
- asl_l cnt:D_REG, dst:D_REG ==> @text2( %d( 0xe1a0 | (cnt->reg << 9) |
- dst->reg)).
- asr_l cnt:QUICK, dst:D_REG ==> @text2( %d( 0xe080 | (cnt->val << 9) |
- dst->reg)).
- ... cnt:D_REG, dst:D_REG ==> @text2( %d( 0xe0a0 | (cnt->reg << 9) |
- dst->reg)).
- bcc dst:LOC_LBL ==> @text1(0x64);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x64ff);
- code_dist4( dst).
- bcs dst:LOC_LBL ==> @text1( 0x65);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x65ff);
- code_dist4( dst).
- beq dst:LOC_LBL ==> @text1( 0x67);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x67ff);
- code_dist4( dst).
- bge dst:LOC_LBL ==> @text1( 0x6c);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x6cff);
- code_dist4( dst).
- bgt dst:LOC_LBL ==> @text1( 0x6e);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x6eff);
- code_dist4( dst).
- ble dst:LOC_LBL ==> @text1( 0x6f);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x6fff);
- code_dist4( dst).
- bls dst:LOC_LBL ==> @text1( 0x63);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x63ff);
- code_dist4( dst).
- blt dst:LOC_LBL ==> @text1( 0x6d);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x6dff);
- code_dist4( dst).
- bmi dst:LOC_LBL ==> @text1( 0x6b);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x6bff);
- code_dist4( dst).
- bne dst:LOC_LBL ==> @text1( 0x66);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x66ff);
- code_dist4( dst).
- bra dst:LOC_LBL ==> @text1( 0x60);
- @text1(%dist( dst->lbl)).
- ... dst:GLOB_LBL ==> @text2( 0x60ff);
- code_dist4( dst).
- bset nr:D_REG, dst ==> code_instr( 0x0, nr->reg, 0x7, dst).
- btst nr:D_REG, dst ==> code_instr( 0x0, nr->reg, 0x4, dst).
- bchg nr:D_REG, dst ==> code_instr( 0x0, nr->reg, 0x5, dst).
- clr_l dst ==> code_instr( 0x4, 0x1, 0x2, dst).
-
- cmp_l src:INCR, dst:INCR ==> @text2( 0xb188 | %d( src->reg << 9) |
- %d( dst->reg)).
- ... src, dst:D_REG ==> code_instr( 0xb, dst->reg, 0x2, src).
- cmp2_l src, reg:D_REG ==> code_opcode( 0x0, 0x2, 0x3, src);
- @text2( (%d(reg->reg) & 0x7) << 12);
- code_extension( src).
- dbf reg:D_REG, dst:LOC_LBL ==> @text2( 0x51c8 | (%d(reg->reg) & 0x7));
- @text2( %dist(dst->lbl) + 2).
- divs_l src, dst:D_REG ==> code_opcode( 0x4, 0x6, 0x1, src);
- @text2( 0x800 | (%d(dst->reg) & 0x7) |
- ((%d(dst->reg) & 0x7) << 12));
- code_extension( src).
- divsl_l src, dst:REG_PAIR ==> code_opcode( 0x4, 0x6, 0x1, src);
- @text2( 0x800 | (%d(dst->reg) & 0x7) |
- ((%d(dst->reg2) & 0x7) << 12));
- code_extension( src).
- divu_l src, dst:D_REG ==> code_opcode( 0x4, 0x6, 0x1, src);
- @text2( (%d(dst->reg) & 0x7) |
- ((%d(dst->reg) & 0x7) << 12));
- code_extension( src).
- divul_l src, dst:REG_PAIR ==> code_opcode( 0x4, 0x6, 0x1, src);
- @text2( (%d(dst->reg) & 0x7) |
- ((%d(dst->reg2) & 0x7) << 12));
- code_extension( src).
- eor_l src:D_REG, dst ==> code_instr( 0xb, src->reg, 0x6, dst).
- ext_w dst:D_REG ==> @text2( 0x4880 | (%d(dst->reg) & 0x7)).
- ext_l dst:D_REG ==> @text2( 0x48c0 | (%d(dst->reg) & 0x7)).
- extl_l dst:D_REG ==> @text2( 0x49c0 | (%d(dst->reg) & 0x7)).
- jmp dst ==> code_instr( 0x4, 0x7, 0x3, dst).
- jsr dst ==> code_instr( 0x4, 0x7, 0x2, dst).
- lea src, dst:A_REG ==> code_instr( 0x4, dst->reg, 0x7, src).
- link reg:A_REG, displ:IMMEDIATE ==> @text2( 0x4808 | %d(reg->reg));
- @text4( %$(displ->expr)).
- lsr_l cnt:D_REG, dst:D_REG ==> @text2( 0xe0a8 | (%d(dst->reg) & 0x7) |
- ((%d(cnt->reg) & 0x7) << 9)).
- move_b src, dst ==> code_move( 0x1, src, dst).
- move_l src, dst:A_REG ==> code_instr( 0x2, dst->reg, 0x1, src).
- ... src, dst ==> code_move( 0x2, src, dst).
- move_w src, dst ==> code_move( 0x3, src, dst).
- muls_l src, dst:D_REG ==> code_opcode( 0x4, 0x6, 0x0, src);
- @text2( 0x800 | (%d(dst->reg) & 0x7) |
- ((%d(dst->reg) & 0x7) << 12));
- code_extension( src).
- mulu_l src, dst:D_REG ==> code_opcode( 0x4, 0x6, 0x0, src);
- @text2( (%d(dst->reg) & 0x7) |
- ((%d(dst->reg) & 0x7) << 12));
- code_extension( src).
- neg_l dst ==> code_instr( 0x4, 0x2, 0x2, dst).
- not_l dst ==> code_instr( 0x4, 0x3, 0x2, dst).
- or_l src:D_REG, dst ==> code_instr( 0x8, src->reg, 0x6, dst).
- pea src ==> code_instr( 0x4, 0x4, 0x1, src).
- rol_l cnt:D_REG, dst:D_REG ==> @text2( 0xe1b8 | (%d(dst->reg) & 0x7) |
- ((%d(cnt->reg) & 0x7) << 9)).
- ror_l cnt:D_REG, dst:D_REG ==> @text2( 0xe0b8 | (%d(dst->reg) & 0x7) |
- ((%d(cnt->reg) & 0x7) << 9)).
- rts ==> @text2( 0x4e75).
- sne dst ==> code_instr( 0x5, 0x3, 0x3, dst).
- sub_l src:IMMEDIATE, dst ==> code_opcode( 0x0, 0x2, 0x2, dst);
- code_extension( src);
- code_extension( dst).
- ... src:QUICK, dst ==> code_instr( 0x5, src->val, 0x6, dst).
- ... src:D_REG, dst ==> code_instr( 0x9, src->reg, 0x6, dst).
- tst_l dst ==> code_instr( 0x4, 0x5, 0x2, dst).
- unlk reg:A_REG ==> @text2( 0x4e58 | %d(reg->reg)).
|