home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-07-09 | 2.7 KB | 92 lines | [04] ASCII Text (0x0000) |
- ;
- ; COMPRESS.SRC
- ;
- FWDPTR EQU $08
- TAILPTR EQU $06
- FOUND EQU $FF
- ;
- ORG $0800
- ;
- LDA #$00
- STA TAILPTR
- STA FWDPTR
- LDA #$20
- STA TAILPTR+1
- STA FWDPTR+1
- JMP DOIT
- ;
- JMP SEARCH
- ;
- ENDSRCH LDY #$00 ;NOT FOUND
- RTS
- ;
- SEARCH LDY #$00 ;NOT FOUND YET
- STY FOUND
- LDA (FWDPTR),Y
- BEQ CHKEND ;IF 0, CHECK IF 0 FF 2F 00
- CMP #$80
- BNE ENDSRCH ;IS IT 80
- INY
- LDA (FWDPTR),Y
- BNE ENDSRCH ;IS IT 00
- INY
- LDA (FWDPTR),Y
- BNE ENDSRCH ;IS IT 00
- INY
- LDA (FWDPTR),Y
- LDA #$01 ;YES, FOUND IT
- STA FOUND
- JMP ENDSRCH
- ;
- CHKEND INY
- LDA (FWDPTR),Y
- CMP #$FF
- BNE ENDSRCH
- INY
- LDA (FWDPTR),Y
- CMP #$2F
- BNE ENDSRCH
- LDA #$FF
- STA FOUND
- JMP ENDSRCH
- ;
- DOIT JSR SEARCH
- LDA FOUND
- CMP #$01
- BEQ DONTMOVE
- LDY #$00
- LDA (FWDPTR),Y
- STA (TAILPTR),Y
- INY
- LDA (FWDPTR),Y
- STA (TAILPTR),Y
- INY
- LDA (FWDPTR),Y
- STA (TAILPTR),Y
- INY
- LDA (FWDPTR),Y
- STA (TAILPTR),Y
- LDA #$04
- CLC
- ADC TAILPTR
- STA TAILPTR
- LDA #$00
- ADC TAILPTR+1
- STA TAILPTR+1
- ;
- DONTMOVE LDA #$04
- CLC
- ADC FWDPTR
- STA FWDPTR
- LDA #$00
- ADC FWDPTR+1
- STA FWDPTR+1
- LDA FWDPTR+1
- CMP #$80
- BCS EXIT
- LDA FOUND
- CMP #$FF
- BNE DOIT
- ;
- EXIT RTS
-