IBM PC CONVERTIBLE Technical Reference page 120

Table of Contents

Advertisement

0308
03DA
03DC
0300
03EO
03EO
03EO
03E2
03E4
03E6
03E8
03EC
03EE
03FO
03FO
03F4
03F6
03F6
03F9
03FB
03FC
03FC
03FC
03FF
0401
0404
0406
0409
0409
040B
040C
0400
0410
0412
0413
0414
0414
0418
041B
041C
041C
0410
041F
0421
0422
0422
0423
0425
0427
0429
042A
A8 01
TEST
AL, HORLRETRACE
IS IT HIGH
74 FB
JZ
P3
WAIT UNTIL IT IS
AD
LODSW
GET THE CHAR/ATTR
E9 016F R
JMP
VIDEO_RETURN
READ....ACCURRENT ENDP
FIND_POSITION
PROC
NEAR
8A CF
MOV
CL, BH
DISPLAY PAGE TO CX
32 ED
XOR
CH, CH
8B F1
MOV
SI,CX
MOVE TO SI FOR INDEX
01 E6
SAL
SI,I
; *
2 FOR WORD OFFSET
8B 84 0050 R
MOV
AX, [SI+ OFFSET CURSOR_POSN- ; GET ROW/COL OF PAGE
33 DB
XOR
BX, BX
SET START ADDRESS TO ZERO
E3 06
JCXZ
P5
NO_PAGE
P4:
PAGE_LOOP
03 1E 004C R
ADD
BX,CRLLEN
LENGTH OF BUFFER
E2 FA
LOOP
P4
P5:
NO_PAGE
E8 02E6
CALL
POSITION
DETERMINE LOCATION IN REGEN
03 08
ADD
BX ,AX
ADD TO START OF REGEN
C3
RET
FI ND_POS IT ION
ENDP
WRITE....ACCURRENT
80 FC 04
72 08
80 FC 07
74 03
E9 05BD R
8A E3
50
51
E8 03EO R
8B FB
59
5B
INPUT
OUTPUT
THIS ROUTINE WRITES THE ATTRIBUTE
AND CHARACTER AT THE CURRENT CURSOR
POSITION
(AL)
=
CHAR TO WRITE
(BH)
=
DISPLAY PAGE
(BL)
=
ATTRIBUTE OF CHAR TO WRITE
(CX)
=
COUNT OF CHARACTERS TO WRITE
(AH)
=
CURRENT CRT MODE
(OS)
DATA SEGMENT
(ES)
REGEN SEGMENT
NONE
INTERRUPTS: DISABLED DURING THE WRITE
WRlTE....ACCURRENT
PROC
NEAR
CMP
AH,4
IS TH I S GRAPH I CS
JC
P6
CMP
AH,7
IS THIS MONO CARD
JE
P6
JMP
GRAPHICS_WRITE
P6:
WRITE....ACCONTINUE
MOV
AH, BL
GET ATTRI BUTE TO AH
PUSH
AX
SAVE CHAR/ATTRIBUTE
PUSH
CX
SAVE WRITE COUNT
CALL
FIND_POSITION
MOV
01, BX
ADDRESS TO 01 REGISTER
POP
CX
WRITE COUNT
POP
BX
CHARACTER/ A TTR IN BX REG
P7 :
WRITE_LOOP
;----- WAIT FOR HORIZONTAL RETRACE
8B 16 0063 R
MOV
OX ,ADDR_6845
GET BASE ADDRESS
83 C2 06
ADD
DX,6
POINT AT STATUS PORT
9C
PUSHF
SAVE CURRENT FLAGS
P8:
EC
IN
AL,DX
GET STATUS
A8 01
TEST
AL, HORLRETRACE
IS IT LOW
75 FB
JNZ
P8
WAIT UNTIL IT IS
FA
CLI
NO MORE INTERRUPTS
P9:
EC
IN
AL,DX
GET STATUS
A8 01
TEST
AL, HORLRETRACE
IS IT HIGH
74 FB
JZ
P9
WAIT UNTIL IT IS
8B C3
MOV
AX,BX
RECOVER THE CHAR/ATTR
AB
STOSW
PUT TH E CHAR/ A TTR
90
POPF
INTERRUPTS BACK ON - I F
em
ROM BIOS 2-95

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents