IBM AT 5170 Technical Reference page 327

Table of Contents

Advertisement

IBM Person_I Computer MACRO Assembler
VersIon 2.00
1-13
VIDEOI
--- 0&/10/85
VIDEO DISPLAY BIOS
06-10-85
1295
1296 0514 DO
1291051601
1298 0518 47
1299
1300
130 I 0519
1302 0519 06
1303 051A
IF
1304 0518 2A
1305 0510 81
130& 0521
CO
1307 0524
74
1308 052& 8A
1309 0528 B4
1310 052A F&
1311 052C 8B
1312 052E 28
1313 0530 8A
13140532 2A
1315
1316
13170534
13180534 E8
13190537 81
1320 053B 81
1321
053F FE
1322 0541
75
1323
1324
1325 0543
1326 0543 8A
1327 0545
1328 0545 E8
1329 0548 81
1330 054C FE
1331
054E 75
1332 0550 FC
1333 0551
E9
1334
1335 0554
1336 0554 8A
1337 0556 E8
1338 0558
1339
1340
1341
1342 0558
1343 0558 8A
1344 OSSA 5&
1345 0558 57
134& 055C F3/
1341 055E SF
1348 055F 5E
1349 0560 81
1350 0564 81
1351
0568 56
1352 0569 57
1353 056A 8A
1354 056C F3
f
1355 056E 5F
1356 056F 5E
1357 0570 C3
13580511
1359
1360
13&1
13620571
1363 0571
8A
1364 0513 57
1365 0574 F3{
1366 0516 5F
1361 0577 81
1368 057B 51
1369 057C 8A
1370 057E F3!
137
I
0580 5F
13720581 C3
1373 0582
1374
1375
1376
1371
1378
1319
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405 0562
1406 0582 B4
1407 0584 50
1408
E2
E7
ED
C7 OOFO
E3 02
2E
C3
50
E4
F7
FO
E&
E3
0558
R
EE 2050
EF 2050
CC
F 1
C7
0571
R
EF 2050
CB
F5
012E R
DE
EB
CA
A4
C6 2000
C1 2000
CA
A4
CA
AA
C7 2000
CA
AA
MED I UM RES DOWN
SAL
DL,1
;
#
COLUMNS -
2,
SINCE 2 BYTES/CHAR
SAL
01,1
: OFFSET -2 SINCE 2 8YTES/CHAR
INC
01
; PO I NT TO LAST BYTE
DETERMINE THE SOURCE ADDRESS
IN THE BUFFER
F I NO SOURCE DOWN
PUSH
ES
BOTH-SEGMENTS TO REGEN
FOF
OS
SUB
CH,CH
ZERO TO HIGH OF COUNT REGISTER
ADD
o
I 1240
POINT TO LAST ROW OF PIXELS
SAL
8L,2
MULTIPLY NUMBER OF LINES BY 4
"Z
RI
b
I F ZERO, THEN BLANK ENT I RE FIELD
MDV
AL,BL
GET NUMBER OF LINES
IN AL
MDV
AH,80
80 BYTES/ROW
MUL
AH
DETERMINE OFFSET TO SOURCE
MDV
SI,DI
SET UP SOURCE
SUB
SI,AX
SUBTRACT THE OFFSET
MOY
AH,DH
NUMBER OF ROWS
IN FIELD
SUB
AH,BL
OETERM I NE NUMBER TO MOVE
LOOP THROUGH, MOV I NG ONE ROW ATAT 1ME, BOTH EVEN AND ODD FIELDS
R 13:
ROW LOOP DOWN
CALL
RI1
MOVE ONE-ROW
SUB
SI,2000H+80
MOVE TO NEXT ROW
SUB
DI,2000H+eO
DEC
AH
NUMBER OF ROWS TO MOVE
"NZ
RI3
; CONTINUE TILL ALL MOVED
;-----
FILL
IN THE VACATED LINE!S)
R14:
CLEAR ENTRY DOWN
MOV
AL,BH
ATTRIBUTE TO FILL WITH
Rt5:
CLEAR LOOP DOWN
CALL
RI8
CLEAR-A ROW
SUB
DI,2000H+80
POINT TO NEXT LINE
DEC
BL
NUMBER OF LINES TO FILL
JNZ
RI5
CLEAR LOOP DOWN
CLD
RESET-THE
is
I RECT ION FLAG
.JMP
VIDEO_RETURN
EIIERYTH I NG DONE
R16:
BLANK FIELD DOWN
MDV
BL,DH
SET BLANK COUNT TO EVERYTHING
IN FIELD
JMP
CLEAR THE FIELD
RI'
GRAPH I CS_DOWN
ENDP
.---
ROUTINE TO MOVE ONE ROW
OF
INFORMATION
R17
PROC
NEAR
MOV
CL,OL
NUMBER OF BYTES
IN THE ROW
PUSH
51
PUSH
01
SAVE POINTERS
REP
MOVSB
MOVE THE EVEN FIELD
FDF
01
FOP
51
ADD
SI,ZOOOH
ADD
OI,ZOOOH
POINT TO THE ODD FIELD
PUSH
51
PUSH
01
SAVE THE PO INTERS
MQV
CL,DL
COUNT BACK
REF
MOVSB
MOVE THE ODD FIELD
FDF
01
PDP
51
PO I NTERS BACK
RET
RETURN TO CALLER
ENDP
1-----
CLEAR A SINGLE ROW
RI6
PROC
NEAR
MDV
CL,DL
; NUMBER OF BYTES
IN FIELD
PUSH
01
SAVE PO INTER
REF
STOSB
STORE THE NEW VALUE
PDF
01
PO I NTER BACK
ADD
DI,2000H
POINT TO ODD FIELD
PUSH
01
MDV
CL,DL
REF
STOSB
FILL THE ODD FIELD
FOP
01
RET
RETURN TO CALLER
RI8
ENDP
;-
-------------------------­
; GRAPH[CS WRITE
;
THIS ROUTINE WRITES THE ASCII
CHARACTER TO THE CURRENT
POS I T ION ON THE SCREEN.
,
ENTRY - ­
AL
=
CHARACTER TO WR I TE
BL
=
COLOR ATTR I BUTE TO BE USED FOR FOREGROUND COLOR
IF BIT 7 IS SET, THE CHAR
IS XOR'D INTO THE REGEN BUFFER
(0
I S USED FOR THE BACKGROUND COLOR)
CX
=
NUMBER OF CHARS TO WRITE
OS
=
DATA SEGMENT
ES
=
REGEN SEGMENT
EXIT - ­
NOTH I NG
IS RETURNED
GRAPH I CS READ
TH I
5
ROUT I NE READS THE ASC I
I
CHARACTER AT THE CURRENT CURSOR
POS I T I ON ON THE SCREEN BY MATCH I NG THE DOTS ON THE SCREEN TO THE
CHARACTER GENERATOR CODE PO 1NTS
ENTRY - ­
NONE
10 IS ASSUMED AS THE BACKGROUND COLOR)
EX
[T
AL
=
CHARACTER READ AT THAT POSITION (0 RETURNED IF NONE FOUND)
FOR BOTH ROUTINES, THE
IMAGES USED TO FORM CHARS ARE CONTAINED IN ROM
FOR THE 1ST 128 CHARS.
TO ACCESS CHARS
IN THE SECOND HALF, THE USER
MUST INITIALIZE THE VECTOR AT
INTERRUPT 1FH (LOCATION 000lCHI
TO
POINT TO THE USER SUPPLIED TABLE OF GRAPHIC
[MAGES
18Xe BOXES).
FAILURE TO DO SO WILL CAUSE IN STRANGE RESULTS
;
- -
-----
--- - - - - - - - -- - - - - - - - - --- - - - ------ - -- - - - - -- -- - - ­
ASSUME
DS:DATA,ES:DATA
GRAPHICS WRITE
PROC
NEAR
MOV
AH,O
ZERO TO HIGH OF CODE PO I NT
PUSH
AX
SAVE CODE POINT VALUE
00
VIDEOl
S-lSS

Advertisement

Table of Contents
loading

Table of Contents