free hit counter

IBM XT 5160 Technical Reference page 220

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

; - - - - -
USE CHARACTER SUBROUT I NE FOR POS I T I ON I NG
ADDRESS RETURNED IS MULTI PLI ED BY 2 FROM CORRECT VALUE
5-73
TEST FOR MED I UM RES
F I ND_SOURCE_DOWN
#
COLUMNS -
2, SINCE 2 BYTE S / CHAR
OFFSET -2 SINCE 2 BYTES/CHAR
ADJUST VALUES
MUL TI PL Y ROWS BY 4 AT 8 VERT DOTS / CHAR
.AND EVEN / ODD ROWS
ZERO TO HIGH OF COUNT REG I STER
MULT I PL Y NUMBER OF LINES BY 4
I F ZERO, THEN BLANK ENT I RE FIELD
80 BYTES / ROW
DETERM I NE OFFSET TO SOURCE
SET UP SOURCE
ADD I N OFFSET TO IT
NUMBER OF ROWS
IN FIELD
DETERM I NE NUMBER TO MOVE
ADJUST VALUES
MULTI PL Y ROWS BY 4 AT 8 VERT DOTS / CHAR
AND EVEN/ODD ROWS
TEST FOR MEDIUM RES
F I NO_SOURCE
;
SET DIRECTION
;
SAVE LINE COUNT IN BL
; GET LOWER RIGHT POS I T I ON I NTO AX REG
;
SAVE RESULT AS DEST I NAT I ON ADDRESS
;
SAVE RESULT AS DESTINATION ADDRESS
1-12
01-10-86
VIDEO (01/10/86)
GRAPH POSN
DI,AX-
OCRT MODE,6
R12 -
DX,CX
DX,101H
DH,I
DH,I
GRAPH POSN
DI,AX-
ES
OS
CH,CH
BL,I
BL,I
Rl1
AL,80
BL
SI,DI
SI,AX
AH,DH
AH,BL
OCRT MODE,6
R7
-
DX,CX
DX,I01H
DH,I
DH,I
SUB
ADD
SAL
SAL
SUB
ADD
SAL
SAL
CMP
JNC
CMP
JNC
DETERM I NE CRT MODE
DETERM I NE THE SOURCE ADDRESS I N THE BUFFER
; F I NO SOURCE
;
GET SEGMENTS BOTH PO I NT I NG TO REGEN
CALL
MOV
DETERM I NE CRT MODE
DETERM I NE SIZE OF WINDOW
MED I UM RES UP
SAL
DL,I
SAL
01,1
PUSH
POP
SUB
SAL
SAL
JZ
MOV
MUL
MOV
ADD
MOV
SUB
CALL
MOV
DETERM I NE SIZE OF WINDOW
;
----
- --
- - -
-
-
-
----
-
-
- - - - - -- - - - --- -
-
--- - -
------
-
----
----
SCROLL DOWN
TH I S ROUT I NE SCROLLS DOWN THE I NFORMA T I ON ON THE CRT
ENTRY --
CH ,CL = UPPER LEFT CORNER OF REG I ON TO SCROLL
;
DH, DL = LOWER RIGHT CORNER OF REG I ON 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 BLANK THE ENTIRE FIELD)
;
OS = OAT A SEGMENT
ES = REGEN SEGMENT
EXIT --
;
NOTH I NG , THE SCREEN I S SCROLLED
SCROLL UP
;
TH I S ROUT I NE SCROLLS UP THE I NFORMAT I ON ON THE CRT
; ENTRY --
;
CH ,CL = UPPER LEFT CORNER OF REG I ON TO SCROLL
;
DH, DL = LOWER RIGHT CORNER OF REG I ON 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 BLANK THE ENTIRE FIELD)
;
OS = OAT A SEGMENT
;
ES = REGEN SEGMENT
; EXIT --
;
NOTH I NG, THE SCREEN I S SCROLLED
~~~~~~ ~~
-
~~
-----
~~~~
-
---
~~~~
-
---------
---
---
-
----
----
--
--
MOV
BL,AL
;
SAVE LINE COUNT IN BL
MOV
AX, CX
; GET UPPER LEFT POS I T I ON I NTO AX REG
USE CHARACTER SUBROUT I NE FOR POS I T I ON I NG
ADDRESS RETURNED IS MULTIPLIED BY 2 FROM CORRECT VALUE
~~~---
LOOP THROUGH, MOV I NG ONE ROW AT A T I ME, BOTH EVEN AND ODD FIELDS
;
ROW LOOP
CALL
R17
;
MOVE ONE ROW
SUB
S I ,2000H-80
; MOVE TO NEXT ROW
SUB
01 ,2000H-80
DEC
AH
NUMBER OF ROWS TO MOVE
JNZ
R8
CONT I NUE TILL ALL MOVED
R9:
FILL I N THE VACATED LI NE (S)
;
CLEAR ENTRY
MOV
AL,BH
; ATTRIBUTE TO FILL WITH
RIO:
CALL
R18
;
CLEAR THAT ROW
SUB
01 ,2000H-80
; POINT TO NEXT LINE
DEC
BL
;
NUMBER OF LINES TO FILL
JNZ
RIO
; CLEAR LOOP
JMP
V IDEO_RETURN
; EVERYTH I NG DONE
R11 :
BLANK FIELD
MOV
BL,DH
SET BLANK COUNT TO EVERYTH I NG IN FIELD
JMP
R9
CLEAR THE FIELD
GRAPH I CS_UP
ENDP
GRAPH I CS DOWN
PROC
NEAR
STD
MOV
BL,AL
MOV
AX ,OX
1217
li18
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231 04AC
1232 04AC 8A 08
1233 04AE 8B C I
1234
1235
1236
1237
1238 04BO E8 06EC R
1239 04B3 8B F8
1240
1241
1242
1243 04B5 2B 01
1244 04B7 81 C2 0101
1245 04BB DO E6
1246 04BD DO E6
1247
1248
1249
1250 04BF 80 3E 0049 R 06
1251 04C4 73 04
1252
1253
1254 04C6 DO E2
1255 04C8 01 E7
1256
1257
1258 04CA
1259 04CA 06
1260 04CB IF
1261 04CC 2A ED
1262 04CE DO E3
1263 0400 DO E3
1264 0402 74 2B
1265 0404 BO 50
1266 0406 F6 E3
1267 0408 8B F7
1268 04DA 03 FO
1269 04DC 8A E6
1270 04DE 2A E3
1271
1272
1273 04EO
1274 04EO E8 0560 R
1275 04E3 81 EE lFBO
1276 04E7 81 EF lFBO
1277 04EB FE CC
1278 04ED 75 FI
1279
1280
1281 04EF
1282 04EF 8A C7
1283 04F 1
1284 04FI E8 0579 R
1285 04F4 81
EF
1FBO
1286 04F8 FE CB
1287 04FA 75 F5
1288 04FC E9 0130 R
1289
1290 04FF
1291 04FF 8A DE
1292 0501 EB EC
1293 0503
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309 0503
1310 0503 FD
131 I 0504 8A 08
13 I 2 0506 8B C2
1313
1314
1315
1316
1317 0508 E8 06EC R
1318 050B 8B F8
1319
1320
1321
1322 0500 2B 01
1323 050F 81 C2 0 101
1324 05 I 3 DO E6
1325 05 I 5 DO E6
1326
1327
1328
1329 0517 80 3E 0049 R 06
1330 051 C 73 05
IBM Personal Computer MACRO Assembler
Version 2.00
VIDEO ---- 01/10/86
VIDEO DISPLAY BIOS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents