home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1982 June / Antic_June_1982_Vol_1_No_2.atr / moveit.src < prev    next >
Text File  |  2021-01-30  |  1KB  |  1 lines

  1. 10 ; This is a position independent subroutine¢20 ; found in DATA statements line numbered 250 and 260¢30 ; Calling Sequence from BASIC is:¢40 ; A = USR(ADR($STR),Start Addr,Count)¢50 ;¢60          *=  $600 ;can go anywhere¢70          PLA     ;ignore argument count¢80          PLA     ;save lo-byte of dest addr¢90          STA  $CC¢0100        PLA ;save hi-byte of dest addr¢0110        STA  $CB¢0120        PLA     ;save total to be moved¢0130        STA  $CE ;*¢0140  PLA     ;save total to be moved¢0150        STA  $CD  ; *¢0160        LDX  $CE  ; count of bytes to move¢0170        LDY  #0   ; init index¢0180        LDA  #0   ; init character to be moved¢0190 MOV    STA  ($CB),Y  ; move data¢0200        DEY       ; decrement index¢0210        BNE  MOV  ; go move next character¢0220        INC  $CC  ; incr dest addr l0-byte¢0230        DEX       ; decr lo-byte count to move¢0240        BMI  EXIT¢0250        BNE  MOV  ; go move next character¢0260        LDY  $CD  ; hi-byte of count to move¢0270        BNE  MOV  ; go move next character¢0280 EXIT   DEC  $CC  ; decr lo-byte dest addr¢0290        LDY  #0¢0300        STA  ($CB),Y¢0310        RTS       ; return to BASIC¢0320        .END¢