IBM PC CONVERTIBLE Technical Reference page 129

Table of Contents

Advertisement

06F4
E9 016F R
06F7
06F7
06F7
80 E3 03
06FA
8A C3
06FC
51
06FD
B9 0003
0700
0700
DO EO
0702
DO EO
0704
OA 08
0706
E2 F8
0708
8A FB
070A
59
070B
C3
070C
070C
070C
52
0700
BA 8000
0710
0710
DO E8
0712
01 DA
0714
01 FA
0716
73 F8
0718
8B C2
071A
5A
071B
e3
071C
D71C
071C
8A 24
071E
8A 44 01
0721
B9 COOO
0724
B2 00
0726
0726
85 Cl
0728
F8
0729
74 01
072B
F9
072C
DO 02
072E
01 E9
0730
01 E9
0732
73 F2
0734
88 56 00
JMP
V IDEO_RETURN
ALL DONE
GRAPHICS_READ
ENDP
--------
-
--
- -
- -
-
--
-
- -
- - -- -- - - -- -
-
- -- - - - - - - -
- -
-- - -
--
-- ---
EXPAND_MED_COLOR - S19
THIS ROUTINE EXPANDS THE LOW 2 BITS IN BL TO
FILL THE ENTIRE BX REGISTER
ENTRY
BL
=
COLOR TO BE US ED ( LOW 2 BITS )
EXIT
BX
=
COLOR TO BE USED ( 8 REPLICATIONS OF THE
2 COLOR BITS )
--
--
---
---
-- - -
-
- - -
- - -
-- -
- - -
- - - -
- -
- - - -
- -
- - - - -
--
- - - - - -- -
--
S19
PROC
NEAR
AND
BL,3
ISOLATE THE COLOR BITS
MOV
AL,BL
COPY TO AL
PUSH
CX
SAVE REGISTER
MOV
CX,3
NUMBER OF TIMES TO DO THIS
S20:
SAL
AL,1
SAL
AL,1
LEFT SHI FT BY 2
OR
BL,AL
ANOTHER COLOR VERS ION INTO BL
LOOP
S20
FI LL ALL OF BL
MOV
BH, BL
FILL UPPER PORTION
POP
CX
REGISTER BACK
RET
ALL DONE
519
ENDP
EXPAND_BYTE
- 521
521
THIS ROUTINE TAKES THE BYTE IN AL AND DOUBLES
ALL OF THE BITS, TURNING THE 8 BITS INTO
16 BITS. THE RESULT IS LEFT IN AX
PROC
NEAR
PUSH
OX
SAVE REGISTER
MOV
DX ,8000H
BIT TO TERMINATE LOOP
DBLBIT4:
SHR
AL,1
LOW ORDER BIT TO CARRY FLAG
RCR
DX,1
FROM CARRY TO HIGH OF RESULT
SAR
DX,1
DBL HIGH ORDER BIT -SIGN EXT
JNB
DBLBIT4
TERM WHEN BIT SHIFTED OUT
MOV
AX,DX
PUT RESULT I NTO AX
POP
DX
RESTORE REGISTER
RET
RETURN
521
ENDP
MED_READ_BYTE - S23
ENTRY
EXIT
523
THIS ROUTINE WILL TAKE 2 BYTES FROM THE REGEN
BUFFER, COMPARE AGAINST THE CURRENT FOREGROUND
COLOR, AND PLACE THE CORRESPONDING ON/OFF BIT
PATTERN INTO THE CURRENT POSITION IN THE SAVE
AREA
SI,DS
=
POINTER TO REGEN AREA OF INTEREST
BX
=
EXPANDED FOREGROUND COLOR
BP
=
POINTER TO SAVE AREA
BP IS INCREMENT AFTER SAVE
PROC
NEAR
MOV
AH, [SIJ
GET FI RST BYTE
MOV
AL, [SI+IJ
GET SECOND BYTE
MOV
CX,OCOOOH
2 BIT MASK TO TEST ENTRIES
MOV
DL,O
RESULT REGISTER
S24 :
TEST
AX, ex
IS THIS SECTION BACKGROUND?
CLC
CLEAR CARRY
JZ
S25
I F ZERO, IT IS BACKGROUND
STC
WASN'T, SO SET CARRY
S25 :
RCL
DL,1
MOVE THAT BIT INTO RESULT
SHR
eX,1
SHR
eX,1
MOVE MASK RIGHT BY 2 BITS
JNC
524
AGAI N [F MASK NOT FALL OUT
MOV
[BPJ ,DL
STORE RESULT IN SAVE AREA
2-104 ROM BIOS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents