IBM PC CONVERTIBLE Technical Reference page 127

Table of Contents

Advertisement

ASSUME
CS: ROMCODE, OS: DATA, ES: DATA
05BD
GRAPH I CS_WR ITE
PROC
NEAR
05BD
B4 00
MOV
AH,O
; ZERO TO HIGH OF CODE POINT
05BF
50
PUSH
AX
; SAVE CODE POINT VALUE
DETERMINE POSITION IN REGEN BUFFER TO PUT CODE POINTS
05CO
E8 0739
CALL
S26
; FIND LOC IN REGEN BUFFER
05C3
8B F8
MOV
DI,AX
; REGEN POINTER IN 01
DETERMINE REGION TO GET CODE POINTS FROM
05C5
58
POP
AX
; RECOVER CODE POINT
05C6
IE
PUSH
OS
05C7
2B F6
SUB
SI,SI
05C9
8E DE
MOV
OS ,SI
ASSUME
OS :ABSO
05CB
3C 80
CMP
AL,80H
IF IT IS IN SECOND HALF
05CD
73 07
JAE
SO
JUMP
05CF
C5 36 0110
LOS
SI,CSELPTR
IT'S IN FIRST HALF
0503
EB 07 90
JMP
SI
0506
2C 80
SO:
SUB
AL,80H
ZERO ORIGIN FOR SECOND HALF
0508
C5 36 007C
LOS
SI, EXLPTR
GET POINTER TO 2ND HALF
05DC
8C DA
SI :
MOV
DX,DS
SAVE THE SEGMENT OF THE TBL
ASSUME
DS:DATA
05DE
IF
POP
OS
RECOVER DATA SEGMENT
05DF
52
PUSH
OX
SAVE TABLE SEGMENT ON STACK
DETERMINE GRAPHICS MODE IN OPERATION
05EO
S2:
DETERMINE-MODE
05EO
01 EO
SAL
AX,1
MUL TI PL Y CODE PO I NT
05E2
01 EO
SAL
AX,1
VALUE BY 8
05E4
01 EO
SAL
AX,1
05E6
03 FO
ADD
SI,AX
SI HAS OFFSET OF CODES
05E8
80 3E 0049 R 06
CMP
CRLMODE,6
05ED
IF
POP
OS
RECOVER TBL POINTER SEGMENT
05EE
72 2C
JC
S7
TEST FOR MEDIUM RESOLUTION
HIGH RESOLUTI ON MODE
05FO
S3 :
HIGH_CHAR
05FO
57
PUSH
01
SAVE REGEN POINTER
05F!
56
PUSH
SI
SAVE CODE POINTER
05F2
B6 04
MOV
DH,4
NUMBER OF TIMES THROUGH LOOP
05F4
S4:
05F4
AC
LODSB
GET BYTE FROM CODE POINTS
05F5
F6 C3 80
TE5T
BL,80H
SHOULD WE USE THE FUNCTION
05F8
75 16
JNZ
56
TO PUT CHAR IN
05FA
AA
STOSB
STORE IN REGEN BUFFER
05FB
AC
LOD5B
05FC
55:
05FC
26: 88 85 IFFF
MOV
ES: [DI+2000H-l] ,AL ; STORE IN SECOND HALF
0601
83 C7 4F
ADD
01,79
MOVE TO NEXT ROW IN REGEN
0604
FE CE
DEC
DH
DONE WITH LOOP
0606
75 EC
JNZ
54
0608
5E
POP
51
0609
5F
POP
01
RECOVER REGEN POINTER
060A
47
INC
01
POINT TO NEXT CHAR POSITION
060B
E2 E3
LOOP
S3
MORE CHARS TO WRITE
0600
E9 016F R
JMP
VIDEO_RETURN
0610
56:
0610
26: 32 05
XOR
AL,ES:[DI]
EXCLUSIVE OR WITH CURRENT
0613
AA
STOSB
5TORE THE CODE POINT
0614
AC
LODSB
AGAI N FOR ODD FI ELD
0615
26: 32 85 IFFF
XOR
AL,ES: [DI+2000H-l]
061A
EB EO
JMP
S5
BACK TO MAINSTREAM
;----- MEDIUM RESOLUTION WRITE
061C
57 :
MED_RES_WRITE
061C
8A 03
MOV
DL,BL
SAVE HIGH COLOR BIT
061E
01 E7
5AL
01,1
OFF5ET*2 SINCE 2 BYTE5/CHAR
0620
E8 06F7
CALL
S19
EXPAND BL TO FULL WORD
2-102 ROM BIOS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents