summaryrefslogtreecommitdiff
path: root/opcodes.asm
diff options
context:
space:
mode:
authorAstrid Smith2010-09-10 21:12:31 -0700
committerAstrid Smith2010-09-10 21:12:31 -0700
commit1c26c72e8abbac88f7718edc8785ea2448fd03cc (patch)
tree257933da5a3830f28e66c715ae3f5636696652a4 /opcodes.asm
parent5ab672895479fcc20bade5971324708929db3830 (diff)
XXX UNDO LATER: Performance degrading change to make debugging easier
Diffstat (limited to 'opcodes.asm')
-rw-r--r--opcodes.asm24
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