pokered/engine/predefs.asm

53 lines
676 B
NASM
Raw Normal View History

GetPredefPointer::
; Back up the contents of the registers (hl, de, bc).
; Then put the bank and address of predef
; wPredefID in [wPredefBank] and hl.
ld a, h
ld [wPredefHL], a
ld a, l
ld [wPredefHL + 1], a
ld hl, wPredefDE
ld a, d
ld [hli], a
ld a, e
ld [hli], a
ASSERT wPredefDE + 2 == wPredefBC
ld a, b
ld [hli], a
ld [hl], c
ld hl, PredefPointers
ld de, 0
ld a, [wPredefID]
ld e, a
add a
add e
ld e, a
2016-06-12 04:30:05 +00:00
jr nc, .nocarry
2014-05-22 22:13:20 +00:00
inc d
2016-06-12 04:30:05 +00:00
.nocarry
add hl, de
ld d, h
ld e, l
2014-05-22 22:13:20 +00:00
; get bank of predef routine
ld a, [de]
ld [wPredefBank], a
2014-05-22 22:13:20 +00:00
; get pointer
inc de
ld a, [de]
ld l, a
2014-05-22 22:13:20 +00:00
inc de
ld a, [de]
ld h, a
2014-05-22 22:13:20 +00:00
ret
INCLUDE "data/predef_pointers.asm"