48 lines
627 B
ArmAsm
Executable file
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
|
|
|
|
|
|
|
|
|