Suppose I have an input buffer whose base address is stored in a zero page location, like IBUFF, and an output buffer whose base address is also stored in a zero page location, like OBUFF. Normally I would do something like this:
Code: Select all
LDY #<number of bytes to copy>
.loop:
DEY
BMI .continue
LDA (IBUFF),Y
STA (OBUF),Y
BRA .loop
.continue:Code: Select all
LDY #47
LDA (RP0),Y
LDY #0
STA (RP1),Y
LDY #46
LDA (RP0),Y
LDY #1
STA (RP1),Y
LDY #49
LDA (RP0),Y
LDY #2
STA (RP1),Y
LDY #48
LDA (RP0),Y
LDY #3
STA (RP1),Y
LDY #51
LDA (RP0),Y
LDY #4
STA (RP1),Y
LDY #50
LDA (RP0),Y
LDY #5
STA (RP1),Y
LDY #53
LDA (RP0),Y
LDY #6
STA (RP1),Y
LDY #52
LDA (RP0),Y
LDY #7
STA (RP1),Y