diff options
| author | Astrid Smith | 2011-10-20 23:11:54 -0700 |
|---|---|---|
| committer | Astrid Smith | 2011-10-20 23:11:54 -0700 |
| commit | ef89049eae1d7e2591bef44a3e8151131fb4bed2 (patch) | |
| tree | 249591a3ea8bb11c9ec3e29a5d0f6c53ad6199a1 | |
| parent | bc73dcf297780bad3b84666619ee1ebedb0c4792 (diff) | |
More size fixes
Now A68k is happy, but ld-tigcc chokes on its output.
| -rw-r--r-- | flags.asm | 2 | ||||
| -rw-r--r-- | main.asm | 2 | ||||
| -rw-r--r-- | opcodes.asm.m4 | 14 |
3 files changed, 12 insertions, 6 deletions
@@ -95,7 +95,7 @@ FNPV_ok: f_calc_parity: andi.w #$ff,d1 move.b lut_parity-flag_storage(a3,d1.w),d1 - move.w flag_byte(pc),d0 + move.b (flag_byte),d0 and.b #%11110111,d0 or.w #%0000100000000000,d0 or.b d1,d0 @@ -54,7 +54,7 @@ __main: lea emu_plain_op,a5 ;; ... aaaaand we're off! - bsr emu_run + jsr emu_run bsr emu_teardown bsr display_teardown diff --git a/opcodes.asm.m4 b/opcodes.asm.m4 index 26c2425..c88f728 100644 --- a/opcodes.asm.m4 +++ b/opcodes.asm.m4 @@ -3366,7 +3366,9 @@ OP_ED(c1,«») ;; PC <- immed.w OPCODE(c2,« jsr f_norm_z - beq.s emu_op_c3 + bne local(continue) + jmp emu_op_c3 ; shame this has to be a long jump +local(continue): add.l #2,epc ») ;nok @@ -3462,7 +3464,9 @@ OP_ED(c7,«») ;; RET Z OPCODE(c8,« jsr f_norm_z - bne.s emu_op_c9 + beq local(continue) + jmp emu_op_c9 ; shame this has to be a long jump +local(continue): ») ;nok @@ -3522,7 +3526,9 @@ OP_ED(cb,«») ;; CALL Z,immed.w OPCODE(cc,« jsr f_norm_z - bne.s emu_op_cd + beq local(continue) + jmp emu_op_cd +local(continue): add.l #2,epc ») ;nok @@ -4134,7 +4140,7 @@ OP_ED(f3,«») OPCODE(f5,« jsr flags_normalize LOHI eaf - move.b flag_byte(pc),eaf + move.b (flag_byte),eaf ;; XXX wrong, af is not normalized by flags_normalize? HILO eaf PUSHW eaf |
