home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / assemblr / library / lib4a86 / lib / drucker.lib < prev    next >
Text File  |  1992-02-02  |  2KB  |  152 lines

  1. #IF !LIB4A86
  2. #ELSE
  3. #IF !INTERN_LIB4A86_S
  4. INTERN_LIB4A86_S EQU 01
  5. JMP START
  6. #ENDIF
  7. #ENDIF
  8. #IF !PRINTERTIMEOUT
  9. PRINTERTIMEOUT EQU 001H
  10. #ENDIF
  11. #IF !PRINTERIOERROR
  12. PRINTERIOERROR EQU 008H
  13. #ENDIF
  14. #IF PRINTERSELECTED
  15. PRINTERSELECTED EQU 010H
  16. #ENDIF
  17. #IF !PRINTERPAPEROUT
  18. PRINTERPAPEROUT EQU 020H
  19. #ENDIF
  20. #IF !PRINTERACKNOWLEDGE
  21. PRINTERACKNOWLEDGE EQU 040H
  22. #ENDIF
  23. #IF !PRINTERBUSY
  24. PRINTERBUSY EQU 080H
  25. #ENDIF
  26. #IF !PRINTERERROR
  27. PRINTERERROR EQU (PRINTERBUSY OR PRINTERPAPEROUT OR PRINTERIOERROR OR PRINTERTIMEOUT)
  28. #ENDIF
  29. PRINTERNR1 EQU 00
  30. PRINTERNR2 EQU 01
  31. PRINTERNR3 EQU 02
  32. PRINTERNR4 EQU 03
  33. PRINTERNUMBER DW PRINTERNR1
  34. GETAKTPRINTER MACRO
  35. MOV DX,CS:[PRINTERNUMBER]
  36. #EM
  37. SETAKTPRINTER MACRO
  38. CMP DX,PRINTERNR4
  39. JA >M1
  40. MOV CS:[PRINTERNUMBER],DX
  41. CLC
  42. M1:
  43. #EM
  44. INITAKTPRINTER MACRO
  45. MOV DX,CS:[PRINTERNUMBER]
  46. MOV AH,01
  47. INT 017H
  48. #EM
  49. GETAKTPRINTERSTATUS MACRO
  50. MOV DX,CS:[PRINTERNUMBER]
  51. MOV AH,02H
  52. INT 017H
  53. #EM
  54. PRINTCHAR:
  55. MOV DX,CS:[PRINTERNUMBER]
  56. XOR AH,AH
  57. INT 017H
  58. TEST AH,PRINTERERROR
  59. RET
  60. PRINTSTRING:
  61. XOR BX,BX
  62. JMP >L1
  63. PRINTLNSTRING:
  64. MOV BX,0D0AH
  65. L1:
  66. PUSH SI,CX
  67. CLD
  68. MOV DX,CS:[PRINTERNUMBER]
  69. LODSB
  70. OR AL,AL
  71. JZ >L7
  72. XOR AH,AH
  73. MOV CX,AX
  74. PUSH CX
  75. L1:
  76. LODSB
  77. XOR AH,AH
  78. INT 017H
  79. TEST AH,PRINTERERROR
  80. JNZ >L9
  81. LOOP L1
  82. L7:
  83. OR BX,BX
  84. JZ >L9
  85. XOR AH,AH
  86. MOV AL,BH
  87. INT 017H
  88. TEST AH,PRINTERERROR
  89. JNZ >L9
  90. XOR AH,AH
  91. MOV AL,BL
  92. INT 017H
  93. TEST AH,PRINTERERROR
  94. L9:
  95. PUSHF
  96. POP BX
  97. SUB BX,CX
  98. POPF
  99. POP CX,SI
  100. RET
  101. PRINTPUFFER:
  102. PUSH SI,CX
  103. CLD
  104. XOR BX,BX
  105. MOV DX,CS:[PRINTERNUMBER]
  106. PUSH CX
  107. OR CX,CX
  108. JE >L9
  109. L1:
  110. LODSB
  111. XOR AH,AH
  112. INT 017H
  113. TEST AH,PRINTERERROR
  114. LOOPZ L1
  115. L9:
  116. PUSHF
  117. POP BX
  118. SUB BX,CX
  119. POPF
  120. POP CX,SI
  121. RET
  122. #IF !INTERN_CMARK0
  123. INTERN_CMARK0 EQU 01H
  124. INTERN_CMARK1:
  125. PUSH BP
  126. MOV BP,SP
  127. MOV BX,06H
  128. SUB CH,[BP+SI]
  129. SUB AH,[BX+SI]
  130. DEC SP
  131. DEC CX
  132. INC DX
  133. XOR AL,041H
  134. CMP B[02820H],DH
  135. INC BX
  136. SUB W[BX+SI],SP
  137. INC DX
  138. CS AND B[BP+DI+043H],DL
  139. DEC AX
  140. INC BP
  141. DEC BP
  142. DEC BP
  143. INC BP
  144. PUSH DX
  145. AND B[BP+SI],CH
  146. SUB CH,[BP+SI]
  147. POP DX
  148. MOV SP,BP
  149. POP BP
  150. RET
  151. #ENDIF
  152.