c64-livecoding/wip-hugo/routines/memory/memory_rec.s
2025-02-27 22:04:43 +01:00

48 lines
627 B
ArmAsm
Executable file

;##### HANDLES BIG MEMORY MANAGMENTS ############
;recursive write to memory.
.proc memory_rec
;Writes data in A
;Adress start: $FC, $FB
;Adress end: $FE, $FD
; Example [ $FC =$44, $FB =$00, $FE =$45, $FD =$01, A =0]
; writes zeros in memory from $4400 to $4501.
;put what to recursive write in Y.
LDX #$0
TAY
loop:
;write to byte
TYA
STA ($FB ,X)
TAY
Add_16 $FB, $FC, #$01, #$00
LDA $FB
CMP $FD
BEQ test_1
jmp loop
test_1:
LDA $FC
CMP $FE
BEQ test_2
jmp loop
test_2:
;Dont forget to rewrite last byte
TYA
STA ($FB, X)
RTS
.endproc