diff options
| author | Duncan Smith | 2010-09-10 21:12:31 -0700 |
|---|---|---|
| committer | Duncan Smith | 2010-09-10 21:12:31 -0700 |
| commit | e8da3403a9fd448f56102be7b8e56aa90d3f1483 (patch) | |
| tree | d3b10b9151bf244cde67f62e85ca4e5db6306164 | |
| parent | d84960ffd0b2b6f729c39557da668fafd00e7330 (diff) | |
XXX UNDO LATER: Performance degrading change to make debugging easier
| -rw-r--r-- | opcodes.asm | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/opcodes.asm b/opcodes.asm index b4e57c5..b2f4909 100644 --- a/opcodes.asm +++ b/opcodes.asm @@ -103,16 +103,6 @@ START MACRO _align SET _align+$40 ENDM - ;; This is run at the end of every instruction routine. -DONE MACRO - clr.w d0 ; 4 cycles / 2 bytes - move.b (epc)+,d0 ; 8 cycles / 2 bytes - move.b d0,$4c00+32*(128/8) - rol.w #6,d0 ;18 cycles / 2 bytes - jmp 0(a5,d0.w) ;14 cycles / 4 bytes - ;; overhead: 42 cycles /10 bytes - ENDM - ;; LOHI/HILO are hideously slow for instructions used often. ;; Interleave registers instead: ;; @@ -181,6 +171,20 @@ F_DEC_W MACRO ;; lookup table + ;; This is run at the end of every instruction routine. +done: + clr.w d0 ; 4 cycles / 2 bytes + move.b (epc)+,d0 ; 8 cycles / 2 bytes + move.b d0,$4c00+32*(128/8) + rol.w #6,d0 ;18 cycles / 2 bytes + jmp 0(a5,d0.w) ;14 cycles / 4 bytes + ;; overhead: 42 cycles /10 bytes + + +DONE MACRO + bra done + ENDM + CNOP 0,32 |
