cardiograph-computer/javascript-old/test-programs/fill-display.asm

26 lines
605 B
NASM

;; Fill display with $FF
; updated for 5x5 display
#Zero 1
#px_ptr $F0
#fill $F1
; Initialize variables...
LDA $00 ; (Address for the first px on the display)
STO #px_ptr ; Pointer to current px
LDA $FF ; ($FF is 'on', $00 is 'off')
STO #fill ; Stash value to fill with
@paint
LDA (#fill) ; (A = mem[fill] = $FF)
STO (#px_ptr); Paint pixel (mem[mem[*px]] = A = $FF)
LDA (#px_ptr) ; Increment pixel pointer...
ADD $01
STO #px_ptr
LDA (#px_ptr) ; Test whether to loop or not...
SUB $19 ; if *px - $19 == 0, we've reached the end
FHP #Zero
JMP @paint
END