IBM AT 5170 Technical Reference page 326

Table of Contents

Advertisement

IBM Pe ... sonal Comput .... MACRO Ass.mbl....
V.... slon 2.00
1-12
VIDEO!
--- 06/10/85
VIDEO DISPLAY 8105
06-10-85
181
04A3
R3
ENOP
182
183
SCROLL UP
184
,.5
I.b
,.7
I ••
I ••
19'
191
192
1193
1194
1195
1196
1191
I 198
1199
1200
1201
1202
1203
1204
1205
1206
1201
1206
1209
1210
1211
1212
1213
1214
1215
1216
1211
1218
1219
1220
1221
1222
1223
1224
1225
1226
1221
1228
1229
1230
1231
1232
1233
1234
1235
1236
1231
1236
1239
1240
1241
1242
1243
1244
1245
1246
1241
1248
1249
1250
1251
1252
1253
1254
1255
1256
1251
1258
1259
1260
1261
1262
1263
1264
1265
1266
1261
1268
1269
1270
1211
1212
1213
1214
1215
1216
1211
1218
1219
1280
1281
1282
1283
1284
1285
1286
1281
1288
1289
1290
1291
1292
1293
1294
5-154
VIDEO1
15 FI
THIS ROUTINE SCROLLS UP THE
INFORMATION ON THE CRT
ENTRY - ­
CH, CL = UPPER LEFT CORNER OF REG I ON TO SCROLL
DH, DL " LOWER RIGHT CORNER OF REG 1 ON TO SCROLL
BOTH OF THE ABOVE ARE I N CHARACTER pas I TI ONS
8H = FILL VALUE FOR BLANKED LINES
AL "
#
LINES TO SCROLL
(AL=O MEANS BLANK THE ENTIRE FIELD)
OS = DATA SEGMENT
ES "
REGEN SEGMENT
EX
I T -­
NOTH I NG, THE SCREEN
J
S SCROLLED
b;~;~~ ~~ -~;
-----
;;~~
----
~~~;-------
--------- -----------­
hiov
BL,AL
;
SAVE LINE COUNT IN BL
MOV
AX,CX
~
GET UPPER LEFT POSITION
INTO AX REG
1-----
USE CHARACTER SUBROUTINE FOR POSITIONING
,-----
ADDRESS RETURNED IS MULTIPLIED 8Y 2 FROM CORRECT VALUE
CALL
GRAPH~POSN
OI,AX
1
SAVE RESULT AS DESTINATION ADDRESS
DETERMINE SIZE OF WINDOW
SUB
DX,CX
ADD
ox,
10 IH
AD..JUST VALUES
SAL
DH,2
MULTIPLY ROWS BY 4 AT 6 VERT DOTS/CHAR
AND EVEN/ODD ROWS
;-----
DETERMINE CRT MODE
R 06
C"P
(lCRT MOOE,6
TEST FOR MEDIUM RES
JNC
R7
-
FIND_SOURCE
1-----
MEDIUM RES UP
SAL
DL,I
# COLUMNS· 2, SINCE 2 BYTES/CHAR
SAL
01,1
OFFSET ·2 SINCE 2 BYTES/CHAR
DETERMINE THE SOURCE ADDRESS
IN THE BUFFER
FIND SOURCE
PUSH
ES
GET SEGMENTS BOTH PO I NT I NG TO REGEN
PDP
OS
SUB
CH,CH
ZERO TO HIGH OF COUNT REGISTER
SAL
BL,2
MULTIPLY NUMBER OF LINES BY 4
JZ
RII
I F ZERO,
THEN BLANK ENT
[RE
F! ELO
MDV
AL,BL
GET NUMBER OF LINES
IN AL
MDV
AH,60
60 BYTES/ROW
"Ul
AH
oETERM I NE OFFSET TO SOURCE
"DV
S 1.0 I
SET UP SOURCE
ADD
S I. AX
ADD I N OFFSET TO
IT
"DV
AH,DH
NUMBER OF ROWS IN FIELD
SUB
AH,8L
DETERMINE NUMBER TO MOVE
1----- LOOP THROUGH, MOV I NG ONE ROW AT A T I ME, BOTH EVEN AND ODD FIELDS
R8:
ROW LOOP
CALL
RI7
MOVE ONE ROW
SUB
S I ,2000H-60
MOVE
TO NEXT ROW
SUB
DI,2000H-eo
DEC
AH
NUMBER OF ROWS TO MOVE
JNZ
R6
CONT I NUE TILL ALL MOVED
FILL
IN THE VACATED LINE(SI
CLEAR ENTRY
AL,BH
ATTRIBUTE TO FILL WITH
Rl01
CALL
RIO
CLEAR THAT ROW
SUB
01,2000H-60
PO I NT TO NEXT LI NE
DEC
Bl
NUMBER OF' LINES TO FILL
JNZ
RIO
CLEAR LOOP
J"P
VIDEO_RETURN
EVERYTH I NCi DONE
Rl
I:
BLANK F IELO
MOV
BL.OH
SET 8LANK COUNT TO EVERYTHING
IN FiELD
..JMP
R9
CLE AR THE FIELD
GRAPHICS_UP
ENDP
;
--- -------------------
-
- ------
--- --- -- ----
- - - - - - ----­
;
SCROLL DOWN
;
THIS ROUTINE SCROLLS DOWN THE
INFORMATION ON THE CRT
;
ENTRY -­
;
CH. CL = UPPER LEFT CORNER OF REG
I ON
TO SCROLL
;
DH,DL = LOWER RIGHT CDRNER
OF
REGION TO SCROLL
BOTH OF THE ABOVE ARE I N CHARACTER POS I T IONS
BH " FILL VALUE FOR BLANKED LINES
AL
= ,
LINES TO SCROLL
(AL=O MEANS 8LANK THE ENTIRE FIELD)
OS = DATA SEGMENT
ES = REGEN SEGMENT
EXIT -­
NOTH I NG, THE SCREEN I S SCROLLED
GRAPH I CS DOWN
PROC
NEAR
~TD
;
SET
0
I RECT I ON
MOV
BL,AL
;
SAVE LINE COUNT
IN
BL
MOV
AX,DX
I
GET LOWER RIGHT POS I T I ON
[NTO AX REG
;-----
USE CHARACTER SUBROUTINE FOR POSITIONING
ADDRESS RETURNED IS MULTIPLIED BY 2 FROM CORRECT VALUE
CALL
GRAPH POSN
"DV
DI,AX~
;
SAVE RESULT AS DESTINATION ADDRESS
DETERM I NE SIZE OF WI NOOW
SUB
OX
,ex
ADD
OX,!
0
IH
AD..JUST VALUES
SAL
OH,2
MULTIPLY ROWS BY 4 AT
8 VERT DOTS/CHAR
AND EVEN/ODD ROWS
;-----
OETERMINE CRT
MODE
R 06
e"p
OCRT MODE, eo
TEST FOR MED I UM RES
JNC
R12 -
F I
ND~SOURCE~DOWN
04A3
04A3
04A5
04Al
04AA
04AC
04AE
0482
0485
04BA
04BC
04BE
04CO
04CQ
04CI
04C2
04C4
04C1
04C9
04CB
04CD
04CF
0401
0403
0405
0401
0401
04DA
040E
04E2
04E4
04E6
04E6
04E8
04E8
04EB
04EF
04FI
04F3
04F6
04F6
04F8
04FA
04FA
04FA
04F8
04FD
04FF
0502
0504
0506
050A
0500
0512
8A
88
E6
88
28
81
CO
80
13
00
DI
IF
2A
CO
14
6A
B4
F6
6B
03
6A
2A
E6
61
61
FE
8A
E8
81
FE
15
E9
8A
E8
FO
8A
88
E8
8B
2B
81
CO
80
13
08
C I
0608 R
FB
01
C2
E6
3E
04
E2
E1
ED
E3
20
C3
50
E4
F1
FO
E6
E3
0101
02
0049
02
0556 R
EE lF80
EF
IF80
CC
C1
0511 R
EF
lFBO
CB
F5
012E
DE
EC
08
C2
0608
F8
0 I
R
R
C2 0 I 0 I
E6 02
3E 0049
05

Advertisement

Table of Contents
loading

Table of Contents