39 lines
613 B
ArmAsm
Executable file
39 lines
613 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
|