home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
assemblr
/
library
/
lib4a86
/
lib
/
drucker.lib
< prev
next >
Wrap
Text File
|
1992-02-02
|
2KB
|
152 lines
#IF !LIB4A86
#ELSE
#IF !INTERN_LIB4A86_S
INTERN_LIB4A86_S EQU 01
JMP START
#ENDIF
#ENDIF
#IF !PRINTERTIMEOUT
PRINTERTIMEOUT EQU 001H
#ENDIF
#IF !PRINTERIOERROR
PRINTERIOERROR EQU 008H
#ENDIF
#IF PRINTERSELECTED
PRINTERSELECTED EQU 010H
#ENDIF
#IF !PRINTERPAPEROUT
PRINTERPAPEROUT EQU 020H
#ENDIF
#IF !PRINTERACKNOWLEDGE
PRINTERACKNOWLEDGE EQU 040H
#ENDIF
#IF !PRINTERBUSY
PRINTERBUSY EQU 080H
#ENDIF
#IF !PRINTERERROR
PRINTERERROR EQU (PRINTERBUSY OR PRINTERPAPEROUT OR PRINTERIOERROR OR PRINTERTIMEOUT)
#ENDIF
PRINTERNR1 EQU 00
PRINTERNR2 EQU 01
PRINTERNR3 EQU 02
PRINTERNR4 EQU 03
PRINTERNUMBER DW PRINTERNR1
GETAKTPRINTER MACRO
MOV DX,CS:[PRINTERNUMBER]
#EM
SETAKTPRINTER MACRO
CMP DX,PRINTERNR4
JA >M1
MOV CS:[PRINTERNUMBER],DX
CLC
M1:
#EM
INITAKTPRINTER MACRO
MOV DX,CS:[PRINTERNUMBER]
MOV AH,01
INT 017H
#EM
GETAKTPRINTERSTATUS MACRO
MOV DX,CS:[PRINTERNUMBER]
MOV AH,02H
INT 017H
#EM
PRINTCHAR:
MOV DX,CS:[PRINTERNUMBER]
XOR AH,AH
INT 017H
TEST AH,PRINTERERROR
RET
PRINTSTRING:
XOR BX,BX
JMP >L1
PRINTLNSTRING:
MOV BX,0D0AH
L1:
PUSH SI,CX
CLD
MOV DX,CS:[PRINTERNUMBER]
LODSB
OR AL,AL
JZ >L7
XOR AH,AH
MOV CX,AX
PUSH CX
L1:
LODSB
XOR AH,AH
INT 017H
TEST AH,PRINTERERROR
JNZ >L9
LOOP L1
L7:
OR BX,BX
JZ >L9
XOR AH,AH
MOV AL,BH
INT 017H
TEST AH,PRINTERERROR
JNZ >L9
XOR AH,AH
MOV AL,BL
INT 017H
TEST AH,PRINTERERROR
L9:
PUSHF
POP BX
SUB BX,CX
POPF
POP CX,SI
RET
PRINTPUFFER:
PUSH SI,CX
CLD
XOR BX,BX
MOV DX,CS:[PRINTERNUMBER]
PUSH CX
OR CX,CX
JE >L9
L1:
LODSB
XOR AH,AH
INT 017H
TEST AH,PRINTERERROR
LOOPZ L1
L9:
PUSHF
POP BX
SUB BX,CX
POPF
POP CX,SI
RET
#IF !INTERN_CMARK0
INTERN_CMARK0 EQU 01H
INTERN_CMARK1:
PUSH BP
MOV BP,SP
MOV BX,06H
SUB CH,[BP+SI]
SUB AH,[BX+SI]
DEC SP
DEC CX
INC DX
XOR AL,041H
CMP B[02820H],DH
INC BX
SUB W[BX+SI],SP
INC DX
CS AND B[BP+DI+043H],DL
DEC AX
INC BP
DEC BP
DEC BP
INC BP
PUSH DX
AND B[BP+SI],CH
SUB CH,[BP+SI]
POP DX
MOV SP,BP
POP BP
RET
#ENDIF