home *** CD-ROM | disk | FTP | other *** search
- ;*** RM PROGRAM
-
- .SEQ ACEHEAD.S
- .ORG ACE┴PP┴DDRESS
- .OBJ "@0:RM"
-
- JMP REMOVE═AIN
- .BYTE ACE╔─1,ACE╔─2,ACE╔─3
- .BYTE 64,0 ;** STACK,RESERVED
-
- ;*** GLOBAL DECLARATIONS
-
- LIBWORK = $60
-
- CHR├╥ = $0D
- CHR╤UOTE = $22
-
- ;******** STANDARD LIBRARY ********
- PUTS = *
- LDX #STDOUT
- FPUTS = *
- STA ZP
- 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
- 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
- STY ZP+1
- LDA #1
- LDY #0
- JSR READ
- BEQ +
- LDA GETC┬UFFER
- RTS
- + SEC
- RTS
- GETC┬UFFER .BUF 1
-
- ;===REMOVE LIBRARY===
- GETARG = *
- STY ZP+1
- ASL
- STA ZP
- ROL ZP+1
- CLC
- LDA ACE┴RGV
- ADC ZP
- STA ZP
- LDA ACE┴RGV+1
- ADC ZP+1
- STA ZP+1
- LDY #0
- LDA (ZP),Y
- TAX
- INY
- LDA (ZP),Y
- STX ZP
- STA ZP+1
- RTS
-
- ;===REMOVE===
- RM┴RG = 2
- RM╬AME = 4
-
- REMOVE═AIN = *
- ;** CHECK ARGUMENT COUNT
- LDA ACE┴RGC+1
- BNE RM┼NOUGH┴RGS
- LDA ACE┴RGC
- CMP #2
- BCS RM┼NOUGH┴RGS
-
- RM╒SAGE = *
- LDA #<RM╒SAGE═SG
- LDY #>RM╒SAGE═SG
- JMP PUTS
-
- RM╒SAGE═SG = *
- .ASC "╒SAGE: RM FILE1 FILE2 ... FILE╬"
- .BYTE CHR├╥
- .BYTE 0
-
- RM┼NOUGH┴RGS = *
- LDA #1
- LDY #0
- STA RM┴RG
- STY RM┴RG+1
- - LDA RM┴RG
- LDY RM┴RG+1
- JSR GETARG
- LDA ZP
- LDY ZP+1
- STA RM╬AME
- STY RM╬AME+1
- ORA ZP+1
- BEQ RM┼XIT
- JSR STOPKEY
- BCS STOPPED
- JSR RM┼CHO
- LDA RM╬AME
- LDY RM╬AME+1
- STA ZP
- STY ZP+1
- JSR REMOVE
- BCC +
- JSR RM┼RROR
- + INC RM┴RG
- BNE +
- INC RM┴RG+1
- + JMP -
-
- RM┼XIT = *
- RTS
-
- STOPPED = *
- LDA #<STOPPED═SG
- LDY #>STOPPED═SG
- JMP EPUTS
- STOPPED═SG = *
- .ASC "<STOPPED>"
- .BYTE CHR├╥,0
-
- RM┼RROR = *
- LDA #<RM┼RROR═SG1
- LDY #>RM┼RROR═SG1
- JSR EPUTS
- LDA RM╬AME
- LDY RM╬AME+1
- JSR EPUTS
- LDA #<RM┼RROR═SG2
- LDY #>RM┼RROR═SG2
- JMP EPUTS
-
- RM┼RROR═SG1 = *
- .ASC "┼RROR ATTEMPTING TO REMOVE "
- .BYTE CHR╤UOTE
- .BYTE 0
-
- RM┼RROR═SG2 = *
- .BYTE CHR╤UOTE
- .BYTE CHR├╥
- .BYTE 0
-
- RM┼CHO = *
- LDA #<RM┼CHO═SG1
- LDY #>RM┼CHO═SG1
- JSR EPUTS
- LDA RM╬AME
- LDY RM╬AME+1
- JSR EPUTS
- LDA #<RM┼CHO═SG2
- LDY #>RM┼CHO═SG2
- JMP EPUTS
-
- RM┼CHO═SG1 = *
- .ASC "╥EMOVING FILE "
- .BYTE CHR╤UOTE,0
-
- RM┼CHO═SG2 = *
- .BYTE CHR╤UOTE
- .ASC "..."
- .BYTE CHR├╥,0
-
- ;===THE END===
- RM┼ND = *
-