IBM 5150 Hardware Reference Manual page 247

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
F3Cl
3910
NEAR
F3C3 60fC04
3911
CMP
AH,4
i
IS THIS GRAPHICS
F3C6 7208
3912
JC
P6
nCB BOFC07
3913
CMP
AH,7
I IS THIS BW CARD
nCB 7403
3914
J'
P6
nco
E98101
3915
JMP
noo
3916
P6:
i WRITE_AC_CONTINUE
Floa 8An
3917
HOV
AH,BL
; GET ATTRIBUTE TO AH
F30Z 50
3918
PUSH
AX
I SAVE ON STACK
Fl03 SI
3919
PUSH
ex
; SAVE WRITE COUNT
F3D4 ESC OFF
39Z0
CALL
FlNO_POSITlOH
F30? 8BFB
]92:1
HOY
DI.BX
• ADDRESS TO 01 REGISTER
n09 59
3922
POP
ex
~
WRITE COUNT
FlOA 58
3923
pop
ex
J
CHARACTER IN BX REG
F30B
3924
1'7:
; WRITE_LOOP
3925
3926
; ------ WAlT FOR HORIZONTAL RETRACE
3927
F30B 8B166300
3n8
MOY
DX.ADDR_6645
; GET BASE ADDRESS
nOf 63C206
3929
ADD
DX.6
i
POINT AT STATUS PORT
F3El
3930
P6:
F3E2 EC
3931
IN
Al,DX
; GET STATUS
BE3 A801
3932
TEST
Al.t
I
IS IT LOW
F3E5 75FB
39~3
JUZ
P6
I
WAIT UNTIL IT IS
F3E7 FA
3934
ell
; NO
MORE INTERRUPTS
FlEa
3935
P9:
FlEe EC
3936
IN
.U,DX
; GET STATUS
F3E9 ASOI
3937
TEST
Al,l
; IS IT HIGH
FlEB 74FB
3936
JZ
P9
; WAIT UNTIL IT IS
FlED 8BC3
3939
MOV
Ax.ex
; RECOVER THE CHAR/ATTR
F3EF AS
3940
STOSW
; PUT THE CHAR/ATTR
F3FO Fa
3941
sn
; INTERRUPTS BACK ON
F3F1 E2E8
3942
j
AS MANY TIMES AS REQUESTED
F3F3 E9DIFD
3943
3944
3945
.
----------------------------------------­
394.
.WRITE_C_CURRENT
3947
THIS ROUTINE WRITES THE CHARACTER AT
3946
THE CURRENT CURSOR POSITION. ATTRIBUTE UNCHANGED
3949
;INPUT
3950
( AH) : CURRENT CRT MODE
3951
(BH)
=
DISPLAY PAGE
3952
(CX) : COUNT OF CHARACTERS TO WRITE
3953
tAll
=
CHAR TO WRITE
3954
(OS)
=
DATA SEGMENT
3955
(ES)
=
REGEN SEGMEtlT
3956
.OUTPUT
3957
NONE
3956
; -------­ --------­ -­ ----­ ________________ ---­
F3F6
3959
WRITE_C_CURRENT PROC
NEAR
F3F6 BOFC04
396-0
eMP
AH.4
IS THIS GRAPHICS
F3F9 7208
396.1
JC
PI0
F3FB 80FC07
3962
CMP
AH.7
IS THIS Bioi CARD
F3FE 7403
3963
J'
Pl.
F400 E97EOI
3964
JMP
GRAPHICS_WRITE
F403
3965
PIO:
F403 50
396-6
PUSH
AX
; SAVE ON STACK
F404 51
3967
PUSH
CX
; SAVE WRITE COUNT
F40S E89FFF
3966
CALL
FIND_POSITION
F40e SBFB
3969
HOV
DI.BX
; ADDRESS TO 01
F40A S9
3970
POP
CX
; WRITE coutn
F40B 58
3971
POP
; BL HAS CHAR TO WRITE
F40C
3912
PH:
i
WRITE_LOOP
3973
3974
j------
WAIT FOR HORIZONTAL RETRACE
3975
F40C 8S166300
3976
HOY
OX , AODR_6845
; GET BASE ADDRESS
F410 83C206
3977
ADD
DX.6
I POINT AT STATUS PORT
f413
3976
pt2:
F413 EC
3979
IN
AL.DX
GET STATUS
F414 A801
3960
TEST
AL,I
IS IT LOW
F416 7SfB
3961
JNZ
PI2
; WAIT UNTIL IT IS
F418 FA
3962
ClI
; NO MORE INTERRUPTS
F419
3963
PI3:
F419 EC
3964
IN
AL,OX
I GET STATUS
F41A A801
3965
TEST
Al.t
;; IS IT HIGH
A·54

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents