IBM XT 5160 Technical Reference page 293

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

LOC 08JECT
LI NE
SOURCE
(81 OS FOR THE
IBM PERSONAL COMPUTER XT)
I 1/08/82
OAT A AREA PR I NT TIM OUT
(8YTE)
MAY 8E CHANGED TO CAUSE 0 I FFERENT
T I ME-OUT WA I TS. -DEFAUL T=20
DATA AREA PR INTER 8ASE CONTA I NS THE 8ASE ADDRESS OF THE PR INTER
CARD (S)
AVA I LA8LE- (LOCATED AT 8EG I NN I NG OF DATA SEGMENT,
408H A8S0LUTE,
3 WORDS)
; ---
INT
17 -------------------------------------------------------
_
PR INTER
10
TH I S ROUT I NE PROV I DES COMMUN I CAT I ON WITH THE PR INTER
SET THE STR08E LOW
SAVE AL REG
INTERRUPTS 8ACK ON
SAVE SEGMENT
GET PRINTER STATUS
WA IT_8USY
GET STATUS
STATUS TO AH ALSO
I S THE PR INTER CURRENTLY 8US Y
OUT STR08E
TRY-AGA IN
DROP LOOP COUNT
GO TILL TIMEOUT ENDS
SET ERROR FLAG
TURN OFF THE OTHER 81 TS
RETURN WITH ERROR FLAG SET
OUT STR08E
SET-THE STR08E HIGH
STR08E
IS 81 T 0 OF PORT C OF 8255
SAVE VALUE TO PRINT
OUTPUT CHAR TO PORT
POINT TO STATUS PORT
GET PR INTER PARM
LOAD T I ME-OUT PARM
WORD OFFSET
INTO T A8LE
GET 8ASE ADDRESS FOR PR I NTER CARD
TEST OX FOR ZERO,
I NO I CA T I NG NO PR INTER
RETURN
TEST FOR
(AHl=O
PR INT AL
TEST FOR
(AHl=1
INIT PRT
TEST-FOR
(AH)=2
PRINTER STATUS
RETURN
RECOVER THE OUTPUT CHAR
TURN OFF UNUSED 81 TS
STATUS SET
RECOVER AL REG
GET CHARACTER
INTO AL
FLI P A COUPLE OF 81 TS
RETURN FROM ROUT I NE
RECOVER REGI STERS
RECOVER REG I STERS
FAR
AH
I S MOD I F I ED
ALL OTHERS UNCHANGED
8X
CX
S I
OX
OS
OS
OX
S I
CX
8X
DDS
SI,DX
8L , PR I NT TIM OUT [ S I ]
SI, I
-
-
DX,PRINTER 8ASE[SI]
DX,DX
-
81
AH,AH
82
AH
88
AH
85
CS:CODE,DS:DATA
OEFD2H
PROC
PR I NT THE CHARACTER
IN
(AL)
ON RETURN,
AH= I
I F CHARACTER COULD NOT 8E PR I NTED
(TIME OUT).
OTHER 81TS SET AS ON NORMAL STATUS CALL
I N I TI ALI ZE THE PR I NTER PORT
RETURNS WITH
(AH 1 SET WITH PR I NTER STATUS
READ THE PR I NTER STATUS
INTO
(AH)
7
6
5
4
3
2-1
0
1
1
1
1
1
1
I
T I ME OUT
1
1
1
1
1
1_
UNUSED
1
I
1
1
1_
I
=
I /0 ERROR
1
1
1
1_
1 = SELECTED
1
1
I
I
= OUT OF PAPER
1
1
I
= ACKNOWLEDGE
1_
I
= NOT 8USY
(OX)
= PR I NTER TO 8E USED
(0, 1 ,2)
CORRESPOND I NG TO ACTUAL
VALUES
IN PRINTER_8ASE AREA
(AH)
=
I
(AH) =2
(AHl =0
PUSH
AX
OUT
DX,AL
INC
OX
SU8
CX,CX
IN
AL,DX
MOV
AH,AL
TEST
AL,80H
JNZ
84
LOOP
83
-
I
DEC
8L
JNZ
83
OR
AH, I
AND
AH,OF9H
JMP
SHORT 87
MOV
AL,ODH
INC
OX
OUT
DX,AL
MOV
AL,OCH
OUT
DX,AL
POP
AX
JZ
OR
JZ
DEC
JZ
DEC
JZ
POP
POP
POP
POP
POP
IRET
INPUT
REGI STERS
;------ PRINTER STATUS
;------ PRINT THE CHARACTER
IN
(ALl
PUSH
AX
86:
MOV
OX, PR I NTER_8ASE
[s
I]
INC
OX
IN
AL,DX
MOV
AH,AL
AND
AH,OF8H
87:
POP
OX
MOV
AL,DL
XOR
AH,48H
JMP
81
ASSUME
ORG
PR INTER
10
-STI
PUSH
PUSH
PUSH
PUSH
PUSH
CALL
MOV
MOV
SHL
MOV
OR
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
81:
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
82:
3144
3145
3146
3147
83:
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
84:
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
85:
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
EFD2
EFD2
EFD2 F8
EFD3
IE
EFD4 52
EFD5 56
EFD6 51
EFD7 53
EFD8 E87EOA
EFD8 88F2
EFDD 8A5C78
EFEO DIE6
EFE2 885408
EFE5 0802
EFF8
EFF8 50
EFFC EE
EFFD 42
EFFE
EFFE 28C9
FOOO
FOOO EC
FOO I
8AEO
F003 A880
F005 750E
F007 E2F7
F009 FEC8
F008 75FI
FOOD 80CCO I
FO I 0 80E4F9
FO 13 E813
FO 15
FOl5800D
FO 17 42
FO 18 EE
FO 19 800C
FO 18 EE
FO IC 58
FO 10
FO 10 50
FO IE
FO IE 885408
F021
42
F022 EC
F023 8AEO
F025 80E4F8
F028
F028 5A
F029 8AC2
F028 80F448
F02E E8C5
EFE7 740C
EFE9 OAE4
EFE8 740E
EFED FECC
EFEF 743F
EFFI
FECC
EFF3 7428
EFF5
EFF5 58
EFF6 59
EFF7 5E
EFF8 5A
EFF9
IF
EFFA CF
5-146
PC-XT System BIOS (11/08/82)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents