IBM 5150 Technical Reference page 168

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
EHI FEee
3254
DEC
AH
I TEST fOR (AH)=2
EFn 7428
32:55
JZ
8S
; PRINTER STATUS
EFF5
3256
81:
; RETURN
EFF5 58
3257
POP
BX
£FFb 59
3258
POP
CX
EFn Sf
]259
POP
SI
I RECOVER REGISTERS
EFF8 5A
3260
POP
OX
J RECOVER REGISTERS
EFF9 IF
3261
POP
OS
EFFA CF
3262
IRET
~
3263
3264
j------
PRINT TIlE CHARACTER IN (ALI
3265
EFFS
3266
82:
EFFB 50
3267
PUSH
AX
I SAVE VALUE TO PRINT
EFFC EE
3268
OUT
ax,AL
; OUTPUT CHAR TO PORT
EFFO 42
3269
INC
OX
; POINT TO 51 ATUS PORT
EFFE
3270
B3:
EFFE 26C9
3271
SUB
eX,ex
I WAIT_BUSY
FOOD
3272
B3_1;
FOO~
EC
3273
IN
AL,DX
; GET STATUS
FOOl 8AEO
3274
HOV
AH,AL
; STATUS TO AH ALSO
F003 .1.860
3275
TEST
"L , 80H
; IS THE PRINTER CURREHTLY BUSY
FODS 750E
3276
JNZ
8.
i
OLrCSTROBe
FOOl ElF7
3277
LOOP
83_1
; TRY AGAIN
F009 FEte
]278
DEC
Bl
; DROP LOOP COUNT
Fooe 75FI
3279
JHZ
.3
; GO TILL TIMEOUT ENDS
FOOD 80CC01
3280
OR
AH,I
; SET ERROR FLAG
F010 80E4F9
3281
AND
AH.OF9H
; TURN OFF THE OTHER BITS
FOB EBB
3282
JHP
SHORT 87
; RETURN WITH ERROR FLAG SET
F015
3283
B4:
; OUT_STROBE
F015 BOOD
3284
HOY
AL,OCH
; SET THE STROBE HIGH
F017 42
3285
INC
OX
; STROBE IS BIT 0 OF PORT C OF 8255
F018 EE
3286
OUT
OX.Al
F019 BoDe
3287
HOV
Al,OCH
; SET THE STROBE lOW
FOlB EE
3288
O\JT
OX,Al
FDIC 58
3289
POP
AX
; RECOVER THE OUTPUT CHAR
3290
3291
;~~----
PRINTER STATUS
3292
~
fOlD
3293
85:
FOlD 50
3294
PUSH
AX
I SAVE At REG
FOIE
3295
B6:
FOIE 8B5408
3296
HOV
OX
I
~INTER_eASE
[SI
J
F021 42
3297
INC
ox
F022 EC
3298
IN
Al.OX
; GET
~INTER
STATUS
F023 8AEO
3299
HOV
AH,AL
F025 80E4F8
3300
AND
AH , OF8H
I TURN OFF UNUSED BITS
F028
3301
87:
; STATUS_SET
F028 SA
3302
POP
OX
; RECOVER AL REG
F029 8...C2
3303
HOV
Al,Ol
; GET CHARACTER INTO Al
F028 80F448
3304
XOR
AH,48H
; flIP A COUPLE OF BITS
F02E fBC5
3305
JHP
8,
; RETURN FROM ROUTINE
3306
3307
;
~---~-
INITIALIZE THE PRINTER PORT
3308
F030
3309
B8:
F030 50
HIO
PUSH
AX
I SAVE Al
F031 42
H11
INC
OX
I POltfT TO OUTPUT PORT
F032 42
3312
INC
OX
F033 BD08
3313
HOV
Al.8
I SET INIT LINE LOW
F035 EE
3314
OUT
DX,Al
F036 B8E803
3315
HOV
AX,lOOO
F039
3316
B9:
i
INIT_lOOP
F039 48
3317
DEC
AX
; LOOP FOR RESET TO TAKE
F03A 75FD
3318
JNZ
8.
I INIT_LOOP
F03C BOOC
3319
HOV
AL,OCH
; NO INTERRUPTS. NON AUTO LF.
3320
,
INIT HIGH
F03E EE
3321
OUT
DX ••
U
F03F EBDD
3322
JHP
.6
I PRT_STATUS_l
~
3323
PRINTER_IO
ENDP
3324
F041 62El
3325
e,
Ow
c,.
I RETURN ADDRESS FOR DUH'I1Y STACK
3326
3327
;
~~~
INT 1 0
-----_~
_____________________
~
_____
~
__
~
_______________________
3328
; VIDEO_IO
3329
THESE ROUTINES PROVIDE THE CRT INTERFACE
3330
THE fOLlOWWG FUNCTIONS ARE PROVIDED:
System BIOS 5-75

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents