ca65 V2.17 - Git 582aa41 Main file : relocator.ca65 Current file: relocator.ca65 000000r 1 ; 000000r 1 ; ACORN System 1 Applications: Relocator 000000r 1 ; 000000r 1 ; From the Acorn System 1 User's Manual 000000r 1 ; 000000r 1 ; (Chris Oddy January 2022) 000000r 1 ; 000000r 1 ; entry point $0200 000000r 1 ; 000000r 1 .setcpu "6502" 000000r 1 .listbytes unlimited 000000r 1 ; 000000r 1 D := $10 000000r 1 QDATFET := $FE88 ; quad data fetch 000000r 1 COM16 := $FEA0 ; compare 16-bit numbers 000000r 1 RESTART := $FF04 ; Monitor reentry point 000000r 1 ; 000000r 1 .org $0200 000200 1 ; 000200 1 A2 F1 RELOC: ldx #$F1 000202 1 86 10 stx D ; setup from prompt F. 000204 1 A2 20 ldx #$20 000206 1 20 88 FE jsr QDATFET ; and get address 000209 1 A2 46 ldx #$46 00020B 1 86 10 stx D ; setup end prompt 00020D 1 A2 22 ldx #$22 00020F 1 20 88 FE jsr QDATFET ; and get second address 000212 1 A2 78 ldx #$78 ; move the data between these addresses 000214 1 86 10 stx D ; setup prompt 000216 1 A2 24 ldx #$24 000218 1 20 88 FE jsr QDATFET ; and get base address 00021B 1 A2 1A ldx #$1A ; move to here & successive locations 00021D 1 A1 06 MOVE: lda ($06,x) ; do the move 00021F 1 91 24 sta ($24),y 000221 1 C8 iny 000222 1 D0 02 bne NOINC 000224 1 E6 25 inc $25 000226 1 20 A0 FE NOINC: jsr COM16 ; use COM16 to do the limit test 000229 1 D0 F2 bne MOVE 00022B 1 4C 04 FF jmp RESTART 00022B 1