DEV-TRONIC.de

6502 – Eine 256 Byte großen Block kopieren

Dieses kleine Programm kopiert 256 Byte von einem Adressbereich in einen anderen Adressbereich. Es wird mit Zero-Page-Pointern gearbeitet.

/

; Kopiert 256 Bytes von $0200 nach $0300, clobbert A,X
; Zyklen: ~ (4 + 256*(6..7)) je nach Page-Crossing

.org $0801 ; Beispielstart (optional)

srcPtr = $fb ; Zero-Page-Word
dstPtr = $fd

lda #$00
sta srcPtr
lda #$02
sta srcPtr+1
lda #$00
sta dstPtr
lda #$03
sta dstPtr+1

ldx #$00
copyLp: lda (srcPtr),x ; 6 Zyklen (7 bei Page-Crossing)
sta (dstPtr),x ; 6 Zyklen (7 bei Page-Crossing)
inx
bne copyLp ; 2/3 Zyklen, 256 Iterationen
rts

Cookie Consent mit Real Cookie Banner