home *** CD-ROM | disk | FTP | other *** search
- ;*** MV (RENAME) PROGRAM
-
- .SEQ ACEHEAD.S
- .ORG ACE┴PP┴DDRESS
- .OBJ "@0:MV"
-
- JMP MAIN
- .BYTE ACE╔─1,ACE╔─2,ACE╔─3
- .BYTE 64,0 ;** STACK,RESERVED
-
- ;*** GLOBAL DECLARATIONS
-
- CHR├╥ = $0D
- CHR╤UOTE = $22
-
- ;******** STANDARD LIBRARY ********
- PUTS = *
- LDX #STDOUT
- FPUTS = *
- STA ZP+0
- STY ZP+1
- LDY #$FF
- - INY
- LDA (ZP),Y
- BNE -
- TYA
- LDY #0
- JMP WRITE
- EPUTS = *
- LDX #STDERR
- JMP FPUTS
-
- PUTCHAR = *
- LDX #STDOUT
- PUTC = *
- STA PUTC┬UFFER
- LDA #<PUTC┬UFFER
- LDY #>PUTC┬UFFER
- STA ZP+0
- STY ZP+1
- LDA #1
- LDY #0
- JMP WRITE
- PUTC┬UFFER .BUF 1
-
- GETCHAR = *
- LDX #STDIN
- GETC = *
- LDA #<GETC┬UFFER
- LDY #>GETC┬UFFER
- STA ZP+0
- STY ZP+1
- LDA #1
- LDY #0
- JSR READ
- BEQ +
- LDA GETC┬UFFER
- RTS
- + SEC
- RTS
- GETC┬UFFER .BUF 1
-
- GETARG = *
- STY ZP+1
- ASL
- STA ZP+0
- ROL ZP+1
- CLC
- LDA ACE┴RGV
- ADC ZP+0
- STA ZP+0
- LDA ACE┴RGV+1
- ADC ZP+1
- STA ZP+1
- LDY #0
- LDA (ZP),Y
- TAX
- INY
- LDA (ZP),Y
- STX ZP+0
- STA ZP+1
- RTS
-
- ;===RENAME===
-
- ARG = 2
- OLDNAME = 4
- NEWNAME = 6
-
- MAIN = *
- ;** CHECK ARGUMENT COUNT
- LDA ACE┴RGC+1
- BNE ENOUGH┴RGS
- LDA ACE┴RGC+0
- CMP #3
- BCS ENOUGH┴RGS
-
- USAGE = *
- LDA #<USAGE═SG
- LDY #>USAGE═SG
- JMP PUTS
-
- USAGE═SG = *
- .ASC "╒SAGE: MV OLDNAME NEWNAME ..."
- .BYTE CHR├╥
- .ASC " WHERE ... MEANS REPEAT NAMES IN OLD/NEW PAIRS"
- .BYTE CHR├╥,0
-
- ENOUGH┴RGS = *
- LDA #1
- LDY #0
- STA ARG+0
- STY ARG+1
-
- MAIN╬EXT = *
- LDA ARG+0
- LDY ARG+1
- JSR GETARG
- LDA ZP+0
- LDY ZP+1
- STA OLDNAME+0
- STY OLDNAME+1
- ORA ZP+1
- BEQ MAIN┼XIT
- INC ARG+0
- BNE +
- INC ARG+1
- + LDA ARG+0
- LDY ARG+1
- JSR GETARG
- LDA ZP+0
- LDY ZP+1
- STA NEWNAME+0
- STY NEWNAME+1
- ORA ZP+1
- BEQ MAIN┼XIT
-
- JSR CHECKSTOP
- JSR ECHO
- LDA OLDNAME+0
- LDY OLDNAME+1
- STA ZP+0
- STY ZP+1
- LDA NEWNAME+0
- LDY NEWNAME+1
- STA ZW+0
- STY ZW+1
- JSR RENAME
- BCC +
- JSR ERROR
- + INC ARG+0
- BNE +
- INC ARG+1
- + JMP MAIN╬EXT
-
- MAIN┼XIT = *
- RTS
-
- CHECKSTOP = *
- JSR STOPKEY
- BCS +
- RTS
- + LDA #<STOPPED═SG
- LDY #>STOPPED═SG
- JSR EPUTS
- LDA #1
- LDX #0
- JMP EXIT
-
- STOPPED═SG = *
- .ASC "<STOPPED>"
- .BYTE CHR├╥,0
-
- ERROR = *
- LDA #<ERROR═SG1
- LDY #>ERROR═SG1
- JSR EPUTS
- LDA OLDNAME+0
- LDY OLDNAME+1
- JSR EPUTS
- LDA #<ERROR═SG2
- LDY #>ERROR═SG2
- JMP EPUTS
-
- ERROR═SG1 = *
- .ASC "┼RROR ATTEMPTING TO RENAME "
- .BYTE CHR╤UOTE,0
-
- ERROR═SG2 = *
- .BYTE CHR╤UOTE,CHR├╥,0
-
- ECHO = *
- LDA #<ECHO═SG1
- LDY #>ECHO═SG1
- JSR EPUTS
- LDA OLDNAME+0
- LDY OLDNAME+1
- JSR EPUTS
- LDA #<ECHO═SG2
- LDY #>ECHO═SG2
- JSR EPUTS
- LDA NEWNAME+0
- LDY NEWNAME+1
- JSR EPUTS
- LDA #<ECHO═SG3
- LDY #>ECHO═SG3
- JSR EPUTS
- RTS
-
- ECHO═SG1 = *
- .ASC "╥ENAMING FILE "
- .BYTE CHR╤UOTE,0
-
- ECHO═SG2 = *
- .BYTE CHR╤UOTE
- .ASC " TO "
- .BYTE CHR╤UOTE,0
-
- ECHO═SG3 = *
- .BYTE CHR╤UOTE,CHR├╥,0
-
- ;===THE END===
- BSS = *
- BSS┼ND = BSS+0
-