; Printer I/O for MS-DOS 2.0 INCLUDE IODEF.ASM IO GROUP CODE CODE SEGMENT BYTE PUBLIC 'IOSYS' ASSUME CS:IO, DS:IO PUBLIC PRNTBL EXTRN EXIT:NEAR, CMDERR:NEAR, BUS$EXIT:NEAR PRNTBL: DW EXIT ;INIT DW EXIT DW EXIT DW CMDERR DW EXIT DW BUS$EXIT DW EXIT DW EXIT DW PRN$WRIT DW PRN$WRIT DW PRN$STAT DW EXIT PRN$STAT: IN AL,PRNSTAT AND AL,TBMT JZ BUS$EXITJ JMP EXIT BUS$EXITJ: JMP BUS$EXIT PRN$WRIT: MOV SI,DI PRNOUTLP: LODS BYTE PTR ES:[SI] CALL PRINT LOOP PRNOUTLP JMP EXIT PRINT: PUSH AX PRINLP: IN AL,PRNSTAT AND AL,TBMT JZ PRINLP POP AX OUT PRNDATA,AL RET CODE ENDS END