diff options
Diffstat (limited to 'utils.gbasm')
-rw-r--r-- | utils.gbasm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/utils.gbasm b/utils.gbasm index 5dad3a9..cb1822a 100644 --- a/utils.gbasm +++ b/utils.gbasm @@ -31,6 +31,30 @@ bzero: ; dest = HL, n = BC $end: .END +.MACRODEF JUMP_TABLE ; Jump table pointer in BC, index in A, also overwrites DE + LD E, A + LD D, $00 + + SLA E + RL D + SLA E + RL D + + LD A, E + ADD C + LD E, A + LD A, D + ADC B + LD D, A + + ; CALL DE + LD BC, =$end + PUSH BC + PUSH DE + RET + $end: +.END + Print_8bit: ; Number in A, Memory Tilemap position in HL PUSH AF PUSH BC |