IBM XT 5160 Technical Reference page 222

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

DETERM I NE GRAPH I CS MODE 1N OPERAT I ON
DE TERM I NE REG I ON TO GET CODE PO I NTS FROM
DETERM I NE POS I T I ON I N REGEN BUFFER TO PUT CODE PO I NTS
5-75
; RECOVER CODE PO I NT
;
I SIT I N SECOND HALF
;
YES
; F I NO LOCAT I ON I N REGEN BUFFER
; REGEN POINTER IN 01
EXTEND CHAR
ZERO OR I GIN FOR SECOND HALF
SAVE DATA PO 1NTER
; ESTABLI SH VECTOR ADDRESS I NG
GET THE OFFSET OF THE TABLE
GET THE SEGMENT OF THE TABLE
; RECOVER OAT A SEGMENT
;
SAVE TABLE SEGMENT ON STACK
; CHECK FOR VAL lOTABLE DEF I NED
; CONTINUE IF DS:SI NOT 0000:0000
; ELSE SET
(AX): 0000 FOR "NULL"
; PO I NT TO DEF AUL T T ABLE OFF SET
;
I N THE CODE SEGMENT
HIGH CHAR
SAVE-REGEN PO INTER
SAVE CODE POINTER
NUMBER OF TIMES THROUGH LOOP
GET BYTE FROM CODE PO I NTS
SHOULD WE USE THE FUNCT ION
TO PUT CHAR I N
STORE I N REGEN BUFFER
DETERM I NE MODE
MUL T I PL Y CODE PO I NT VALUE BY
8
STORE I N SECOND HALF
MOVE TO NEXT ROW I N REGEN
DONE WITH LOOP
; S I HAS OFFSET OF DES I RED CODES
RECOVER TABLE PO I NTER SEGMENT
TEST FOR MED I UM RESOLUT ION MODE
; EXCLUS I VE OR WITH CURRENT
;
STORE THE CODE PO I NT
; AGAIN FOR ODD FIELD
; BACK TO MA I NSTREAM
RECOVER REGEN PO INTER
PO I NT TO NEXT CHAR POS I T I ON
MORE CHARS TO WR I TE
MED RES WR I TE
SAVE-H I GH COLOR BIT
OFFSET
e
2 SINCE 2 BYTES/CHAR
EXPAND BL TO FULL WORD OF COLOR
I SOLATE THE COLOR BITS
( LOW 2 BITS )
GET BIT CONVERSION MULTIPLIER
EXPAND 2 COLOR BITS TO 4 REPLICATIONS
PLACE BACK I N WORK REG I STER
EXPAND TO 8 REPLI CAT IONS OF COLOR BITS
MED CHAR
SAVE-REGEN PO INTER
SAVE THE CODE PO INTER
NUMBER OF LOOPS
GET CODE PO I NT
DOUBLE UP ALL THE BITS
CONVERT TO FOREGROUND COLOR
(
a
BACK )
SWAP HIGH/LOW BYTES FOR WORD MOVE
I S TH I S XOR FUNCT I ON
NO, STORE IT IN AS IT IS
DO FUNCTION WITH LOW/HIGH
STORE FIRST BYTE HIGH, SECOND LOW
; GET CODE PO I NT
; CONVERT TO COLOR
;
SWAP HIGH/LOW BYTES FOR WORD MOVE
; AGA IN,
I S TH I S XOR FUNCTI ON
; NO, -JUST STORE THE VALUES
;. FUNCTION WITH FIRST HALF LOW
STORE SECOND PORT I ON HIGH
PO I NT TO NEXT LOCA T I ON
; KEEP GOING
1-14
01-10-86
VIDEO (01/10/86)
AX
AL,80H
S I
AX
S I ,OFFSET CRT CHAR GEN
CS
- -
S26
DI,AX
AX,
I
AX,I
AX,I
SI,AX
OCRT MODE,6
OS
-
S1
AL,80H
OS
SI, SI
DS,SI
DS:ABSO
S I ,OEXT PTR
DX,DS
-
DS:DATA
OS
OX
DX,SI
S2
01
S I
DH,4
DL,BL
01,1
BL,3
AL,055H
BL
BL,AL
BH,AL
S21
AX,BX
AH,AL
DL,80H
S10
AX,ES: [01]
ES: [01] ,AX
S21
AX,BX
AH,AL
DL,80H
SII
AX,ES: [DI+2000H]
ES: [DI+2000H] ,AX
01,80
DH
S9
CALL
MOV
POP
MOV
PUSH
POP
CMP
-JAE
IMAGE IS IN FIRST HALF, CONTAINED IN ROM
MOV
S 1 ,OFFSET CRT CHAR GEN
; OFFSET OF I MAGES
PUSH
CS
-
-
;
SAVE SEGMENT ON STACK
-JMP
SHORT S2
; DETERM I NE_MODE
1MAGE 1SIN SECOND HALF,
I N USER MEMORY
SAL
SAL
SAL
ADD
CMP
POP
-JC
SUB
PUSH
SUB
MOV
ASSUME
LOS
MOV
ASSUME
POP
PUSH
OR
-JNZ
XOR
AL,ES: [01]
STOSB
LODSB
XOR
AL,ES:[DI+2000H-1)
-JMP
S5
MED I UM RESOLUT I ON WR I TE
MOV
SAL
LODSB
TEST
BL,80H
-JNZ
S6
STOSB
LODSB
MOV
ES: [DI+2000H-l] ,AL
ADD
01,19
DEC
DH
-JNZ
S4
POP
SI
POP
01
INC
01
LOOP
S3
-JMP
V IDEO_RETURN
HIGH RESOLUT I ON MODE
PUSH
01
PUSH
S 1
MOV
DH,4
MOV
LODSB
CALL
AND
XCHG
TEST
-JZ
XOR
PUSH
PUSH
MOV
AND
MOV
MUL
MOV
MOV
LODSB
CALL
AND
XCHG
TEST
-JZ
XOR
MOV
ADD
DEC
-JNZ
S 1:
S4:
S9:
S2:
S5:
S6:
S II:
S8:
S 10:
IBM Personal Computer MACRO Assembler
Version 2.00
V 10EO - - - -
0 1 / I 0/86
V IDEO 0 I SPLA Y B I OS
1445
1446
1441
1448 0580 E8 06E9 R
1449 0590 8B F8
1450
1451
1452
1453 0592 58
1454 0593 3C 80
1455 0595 13 06
1456
1451
1458
1459 0591 BE 0000 E
1460 059A OE
1461 059B EB 18
1462
1463
1464
1465 0590
1466 0590 2C 80
1461 059F IE
1468 05AO 2B F6
1469 05A2 8E DE
1410
1411 05A4 C5 36 001C R
1412 05A8 8C DA
1413
1414 05AA IF
1415 05AB 52
1416 05AC OB 06
1411 05AE 15 05
1418
1419 05BO 58
1480 05B I BE 0000 E
1481 05B4 OE
1482
1483
1484
1485 05B5
1486 05B5 01
EO
1481 05B1 01 EO
1488 05B9 0
I
EO
1489 05BB 03 FO
1490 05BD 80 3E 0049 R 06
1491 05C2 1F
1492 05C3 12 2C
1493
1494
1495 05C5
1496 05C5 51
1491 05C6 56
1498 05C1 B6 04
1499 05C9
1500 05C9 AC
150
I
05CA F6 C3 80
1502 05CD 15 16
1503 05CF AA
1504 0500 AC
1505 050
I
1506 0501
26: 88 85
lFFF
1501 0506 83 C1 4F
1508 0509 FE CE
1509 05DB 15 EC
1510 0500 5E
1511 05DE 5F
1512 05DF 41
1513 05EO E2 E3
1514 05E2 E9 0
I
3D R
1515
151605E5
1511 05E5 26: 32 05
1518 05E8 AA
1519 05E9 AC
1520 05EA 26: 32 85
1FFF
1521 05EF EB EO
1522
1523
1524 05F 1
1525 05F
I
8A 03
1526 05F3 01 E1
1521
1528 05F5 80 E3 03
1529 05F8 BO 55
1530 05FA F6 E3
1531 05FC 8A 08
1532 05FE 8A F8
1533 0600
1534 0600 51
1535 0601
56
1536 0602 B6 04
1531 0604
1538 0604 AC
1539 0605 E8 06CO R
1540 0608 23 C3
1541 060A 86 EO
1542 060C F6 C2 80
1543 060F 14 03
1544 0611
26: 33 05
1545 0614
1546 0614 26: 89 05
1541 0611 AC
1548 0618 E8 06CO R
1549 061 B 23 C3
1550 0610 86 EO
1551
061 F F6 C2 80
1552 0622 14 05
1553 0624 26: 33 85 2000
1554 0629
1555 0629 26: 89 85 2000
1556 062E 83 C1 50
1551 0631
FE CE
1558 0633 15 CF

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents