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 ==> @text2( 0x6400 | %dist( dst->lbl)). ... dst:GLOB_LBL ==> @text2( 0x64ff); code_dist4( dst). bcs dst:LOC_LBL ==> @text2( 0x6500 | %dist( dst->lbl)). ... dst:GLOB_LBL ==> @text2( 0x65ff); code_dist4( dst). beq dst:LOC_LBL ==> @text2( 0x6700 | %dist( dst->lbl)). ... dst:GLOB_LBL ==> @text2( 0x67ff); code_dist4( dst). bge dst:LOC_LBL ==> @text2( 0x6c00 | %dist( dst->lbl)). ... dst:GLOB_LBL ==> @text2( 0x6cff); code_dist4( dst). bgt dst:LOC_LBL ==> @text2( 0x6e00 | %dist( dst->lbl)). ... dst:GLOB_LBL ==> @text2( 0x6eff); code_dist4( dst). ble dst:LOC_LBL ==> @text2( 0x6f00 | %dist( dst->lbl)). ... dst:GLOB_LBL ==> @text2( 0x6fff); code_dist4( dst). bls dst:LOC_LBL ==> @text2( 0x6300 | %dist( dst->lbl)). ... dst:GLOB_LBL ==> @text2( 0x63ff); code_dist4( dst). blt dst:LOC_LBL ==> @text2( 0x6d00 | %dist( dst->lbl)). ... dst:GLOB_LBL ==> @text2( 0x6dff); code_dist4( dst). bmi dst:LOC_LBL ==> @text2( 0x6b00 | %dist( dst->lbl)). ... dst:GLOB_LBL ==> @text2( 0x6bff); code_dist4( dst). bne dst:LOC_LBL ==> @text2( 0x6600 | %dist( dst->lbl)). ... dst:GLOB_LBL ==> @text2( 0x66ff); code_dist4( dst). bra dst:LOC_LBL ==> @text2( 0x6000 | %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). 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( 0x4e50 | %d(reg->reg)); @text2( %$(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)).