IBM PC CONVERTIBLE Technical Reference page 125

Table of Contents

Advertisement

0533
GRAPHICS DOWN
ENTRY
EXIT
THIS ROUTINE SCROLLS DOWN 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
FI ELD)
OS = DATA SEGMENT
ES = REGEN SEGMENT
NOTHING, THE SCREEN IS SCROLLED
GRAPH I CS_DOWN
PROC
NEAR
0533
FD
STD
; SET DIRECTION
0534
8A 08
0536
8B C2
MOV
BL,AL
MOV
AX,DX
; SAVE LINE COUNT IN BL
; GET LOWER RIGHT POS INTO AX
;----- USE CHARACTER SUBROUTINE FOR POSITIONING
;----- ADDRESS RETURNED IS MULTIPLIED BY 2 FROM CORRECT VALUE
0538
E8
onc
R
CALL
GRAPH_POSN
053B
8B F8
MOV
DI,AX
; SAVE RESULT AS DEST AD DR
DETERMINE SIZE OF WINDOW
0530
2B 01
SUB
OX, CX
053F
81 C2 OlD1
ADD
DX,101H
ADJUST VALUES
0543
DO E6
SAL
DH,l
MUL TIPLY
#
ROWS BY 4
SINCE 8 VERT DOTS/CHAR
0545
DO E6
SAL
DH,l
AND EVEN/ODD ROWS
DETERMINE CRT MODE
0547
80 3£ 0049 R 06
CMP
CRLMODE,6
TEST FOR MEDIUM RES
054C
73 05
JNC
R12
FIND_SOURCE_DOWN
;----- MEDIUM RES DOWN
054E
DO E2
SAL
DL,l
#
COLUMNS * 2, SINCE
2 BYTES/CHAR (OFFS,ET OK)
0550
01 E7
SAL
01,1
OFFSET *2 SINCE 2 BYTES/CHAR
0552
47
INC
01
PO I NT TO LAST BYT E
DETERMINE THE SOURCE ADDRESS IN THE BUFFER
0553
R12 :
FIND_SOURCLDOWN
0553
06
PUSH
ES
BOTH SEGMENTS TO REGEN
0554
IF
POP
OS
05.55
2A ED
SUB
CH,CH
ZERO TO HIGH OF COUNT REG
0557
81 C7 OOFO
ADD
01,240
POINT TO LAST ROW OF PIXELS
055B
DO E3
SAL
BL,l
MUL TIPLY NO. OF LINES BY 4
0550
DO E3
SAL
BL,l
055F
74 2E
JZ
R16
IF ZERO, BLANK ENTIRE FIELD
0561
8A C3
MOV
AL,BL
GET NUMBER OF LINES IN AL
0563
B4 50
MOV
AH,80
80 BYT ES / ROW
0565
F6 E4
MUL
AH
DETERMINE OFFSET TO SOURCE
0567
8B F7
MOV
SI,DI
SET UP SOURCE
0569
2B FO
SUB
SI,AX
SUBTRACT THE OFFSET
056B
8A E6
MOV
AH,DH
NUMBER OF ROWS IN FIELD
0560
2A E3
SUB
AH,BL
DETERMINE NUMBER TO MOVE
LOOP THROUGH, MOVING ONE ROW AT A TIME, BOTH EVEN & ODD FI ELDS
056F
R13 :
ROW_LOOP _DOWN
056F
E8 0593 R
CALL
R17
MOVE ONE ROW
0572
81 EE 2050
SUB
SI,2000H+80
MOV E TO N EXT ROW
0576
81 EF 2050
SUB
DI,2000H+80
057A
FE CC
DEC
AH
NUMBER OF ROWS TO MOVE
057C
75 F1
JNZ
R13
CONTINUE TILL ALL MOVED
FILL IN THE VACATED LINE(S)
2-100 ROM BIOS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents