IBM PC CONVERTIBLE Technical Reference page 123

Table of Contents

Advertisement

04Al
5A
04A2
F6 C2 01
04A5
74 03
04A7
05 2000
04AA
04AA
8B FO
04AC
58
04AD
8B 01
04AF
BB 02CO
04B2
89 0302
R4:
POP
TEST
JZ
ADD
MaV
POP
MOV
OX
DL,1
R4
AX,2000H
SI,AX
AX
DX,CX
OF INDICATED ROW
RECOVER IT
TEST FOR EVEN/ODD
JUMP I F EVEN ROW
OFFSET TO LOC OF ODD ROWS
EVEN_ROW
MOVE PO I NTER TO S I
RECOVER AL VALUE
COLUMN VALUE TO OX
DETERMI NE GRAPH I CS MODE CURRENTLY I N EFFECT
SET UP THE REGISTERS ACCORDING TO THE MODE
CH = MASK FOR LOW OF COLUMN ADDRESS ( 7/3 FOR HIGH/MED RES)
CL =
#
OF ADDRESS BITS IN COLUMN VALUE ( 3/2 FOR H/M)
BL = MASK TO SELECT BITS FROM POINTED BYTE (80H/COH FOR H/M)
BH = NUMBER OF VALID BITS IN POINTED BYTE ( 1/2 FOR H/M)
04B5
80 3E 0049 R 06
MOV
MOV
CMP
JC
MOV
MOV
BX,2COH
CX,302H
CRLMODE,6
R5
SET PARMS FOR MED RES
HANDLE IF MED ARES
04BA
72 06
04BC
BB 0180
04BF
B9 0703
04C2
04C2
22 EA
04C4
03 EA
04C6
03 F2
04C8
8A F7
04CA
2A C9
04CC
04CC
DO C8
04CE
02 CD
0400
FE CF
0402
75 F8
0404
8A E3
0406
02 EC
0408
5B
0409
C3
04DA
04DA
04DA
8A 08
04DC
8B Cl
BX,180H
CX,703H
SET PARMS FOR HIGH RES
DETERMINE BIT OFFSET IN BYTE FROM COLUMN MASK
R5 :
AND
CH,DL
; AD DR OF PEL IN BYTE TO CH
DETERMINE BYTE OFFSET FOR THIS LOCATION IN COLUMN
SHR
ADD
MOV
OX ,CL
SI,DX
DH, BH
SH I FT BY CORRECT AMOUNT
INCREMENT THE POINTER
GET
#
BITS IN RESULT TO DH
MULTIPLY BH (VALID BITS IN BYTE) BY CH (BIT OFFSET)
SUB
R6:
ROR
ADD
DEC
JNZ
MOV
SHR
POP
RET
R3 ENDP
CL ,CL
AL,l
CL, CH
BH
R6
AH,BL
AH,CL
BX
ZERO INTO STORAGE LOCATION
LEFT JUSTI FY THE VALUE
IN AL (FOR WRITE)
ADD IN THE BIT OFFSET VALUE
LOOP CONTROL
ON EX IT, CL HAS SH I FT COUNT
TO RESTORE BITS
GET MASK TO AH
MOVE MASK TO CORRECT LOCAT
RECOVER REG
RETURN WITH SET UP
GRAPHICS UP
ENTRY
EXIT
THIS ROUTINE SCROLLS UP THE INFORMATION ON THE CRT
CH, CL = UPPER LEFT CORNER OF REGION TO SCROLL
DH,DL = LOWER RIGHT CORNER OF REGION TO SCROLL
BOTH OF THE ABOVE ARE IN CHARACTER POSITIONS
BH = FILL VALUE FOR BLANKED LINES
AL =
#
LINES TO SCROLL (AL=O MEANS BLANK THE ENTIRE
FIELD)
OS = DATA SEGMENT
ES = REGEN SEGMENT
NOTHING, THE SCREEN IS SCROLLED
GRAPHICS_UP
PROC
NEAR
MOV
BL,AL
; SAVE LINE COUNT IN BL
MaV
AX,CX
; GET UPPER LEFT POS IN AX REG
USE CHARACTER SUBROUTINE FOR POSITIONING
2-98 ROM BIOS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents