home *** CD-ROM | disk | FTP | other *** search
- ;PRINTER EJECT ROUTINE 1/20/80 BY WARD CHRISTENSEN
- ;
- ; To eject 1 or more pages of paper in your printer
- ;assuming that a control-L will eject a page.
- ;
- ; EJECT to eject 1 page.
- ; EJECT n to eject 1 to 9 pages
- ;
- ;DEPENDENCIES:
- ; Uses the CP/M list device call - the list device
- ;must eject a page when a control-L (form feed) is received.
- ;
- ORG 0100H
- ;
- FFCHR EQU 'L'-40H ;FORM FEED CHAR
- BDOS EQU 5
- FCB EQU 5CH ;PICK UP PARM FROM FCB+1
- ;
- LDA FCB+1 ;A NUMBER REQUESTED?
- CPI ' '
- JZ NEWPAGE ;NO, JUST DO ONE, RET TO CP/M
- ANI 0FH ;HACK BACK TO NUMBER
- MOV B,A ;B = # OF PAGES
- JNZ PAGELP ;MAKE SURE NOT 0
- MVI B,1 ;DEFAULT TO 1 PAGE
- PAGELP CALL NEWPAGE ;EJECT ONE PAGE
- DCR B ;MORE PAGES?
- JNZ PAGELP ;..YES, LOOP
- RET ;..NO, RETURN TO CP/M
- ;
- ;HERE IS AN EJECT ROUTINE FOR 1 PAGE.
- ; WAITS FOR PRINTER READY FIRST.
- ;
- NEWPAGE PUSH B
- MVI E,FFCHR ;CTL-L (FORMS FEED)
- MVI C,5 ;WRITE LIST DEV
- CALL BDOS ;SEND IT
- POP B
- RET ;RET TO CALLER (CP/M OR PAGELP)
-