IBM 5170 Technical Reference page 280

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

05A7
R17
ENDP
; ------ CLEAR A SINGLE ROW
05A7
05A7
8A CA
05A9
57
05AA
F3/ AA
05AC
5F
05AD
81 C7 2000
05B1
57
05B2
8A CA
0584
F3/ AA
05B6
5F
0587
C3
05B8
05B8
05B8
B4 00
05BA
50
05BB
E8 0745
R
05BE
8B F8
05CO
5.
05C1
3C 80
05C3
73 06
05C5
BE 0000 E
05C8
DE
05C9
EB OF
05CB
05Ce
2C 80
05CD
'E
05CE
2B F6
0500
8E DE
0502
C5 36 007C
0506
8C oA
0508
1F
0509
52
05DA
050A
EO
D'
050C
EO
D'
050E
D'
EO
05EO
03 FO
05E2
80 3E 0049
05E7
1F
05E8
72 2C
05EA
05EA
57
05EB
56
05EC
B6 04
05EE
05EE
Ae
05EF
F6 C3 80
05F2
75 16
05F4
AA
05F5
Ae
05F6
05F6
26: 88 85
05FB
83 C7 4f
05fE
FE CE
0600
75 EC
0602
5E
0603
OF
0604
47
0605
E2 E3
0607
E9 01114
R
060A
060A
26:
32 05
0600
AA
060E
Ae
060F
26:
32 85
0614
EB EO
0616
0616
8A 03
0618
01 E7
R
R
06
1 FFF
PROC
NEAR
MOV
CL,DL
NUMBER OF BYTES IN fiELD
R'.
PUSH
01
SAVE PO INTER
REP
STOSB
STORE THE NEW VALUE
POP
01
PO I NTER BACK
ADO
DI,2000H
;
POINT TO ODD FIELD
PUSH
01
MOV
CL,DL
REP
STOSB
FILL THE ODD F llELD
POP
RET
DI
RETURN TO CALLER
R'8
ENDP
GRAPH I CS WR I TE
THIS ROUTINE WRITES THE ASCII CHARACTER TO THE CURRENT
POSITION ON THE SCREEN.
ENTRY -­
Al = CHARACTER TO WR I TE
BL = COLOR ATTRIBUTE 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
EX I T -­
NOTH I NG I S RETURNED
GRAPH I CS READ
TH IS ROUT
I
NE READS THE ASC I I CHARACTER AT THE CURRENT CURSOR
POSITION ON THE SCREEN BY MATCHING THE DOTS ON THE SCREEN TO THE
CHARACTER GENERATOR CODE PO I NTS
ENTRY -­
NONE
(0 IS ASSUMED AS THE BACKGROUND COLOR)
EXI 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 0007CH) TO
POINT TO THE USER SUPPLIED TABLE OF GRAPHIC IMAGES (8X8 BOXES).
FAI LURE TO DO SO WI LL CAUSE
I
N STRANGE RESULTS
;
------- --
-
---
-------------
-
-----------------
--------­
ASSUME CS:CODE,DS:DATA,ES:DATA
GRAPHICS WRITE
PRoe
NEAR
MOV
AH,O
; ZERO TO HIGH OF CODE POINT
PUSH
AX
;
SAVE CODE PO I NT VALUE
j------
DETERMINE POSITION
IN REGEN BUFFER TO PUT CODE POINTS
GALL
526
;
F!ND LOCATION
IN REGEN BUFFER
MOV
DI,AX
;
REGEN POINTER
IN
OJ
;------ DETERMINE REGION TO GET CODE POINTS FROM
POP
AX
j
RECOVER CODE PO I NT
eMP
AL,80H
;
I S
IT
I N SECOND HALF
JAE
5'
; YES
IMAGE IS IN FIRST HALF, CONTAINED
IN ROM
MOV
SI,OFfSET CRT_GHAR_GEN
;
OFFSET OF
IMAGES
PUSH
CS
;
SAVE SEGMENT ON STACK
JMP
SHORT S2
DETERM I NE_MODE
I MAGE
IS I N SECOND HALF,
I N USER RAM
51 :
EXTEND CHAR
SUB
AL,80H
/ERO OR I GIN FOR SECOND HALF
PUSH
DS
SAVE DATA POINTER
SUB
51,51
MOV
DS,SI
ESTABL I SH VECTOR ADDRESS
I
NG
ASSUME
DS:ABSO
LOS
SI,EXT_PTR
GET THE OFfSET OF THE TABLE
MOV
DX,OS
GET THE SEGMENT OF THE TABLE
ASSUME
OS: DATA
POP
OS
RECOVER DATA SEGMENT
PUSH
OX
SAVE TABLE SEGMENT ON STACK
; ------ DETERM I NE GRAPH I CS MODE
IN OPERAT I ON
S2:
DETERMINE MODE
SAL
AX, ,
; MULTIPLY CODE POINT
SAL
AX,l
;
VALUE BY 8
SAL
AX,l
ADO
SI,AX
;
51
HAS OFFSET OF DESIRED CODES
eMP
CRT_MODE,6
POP
OS
RECOVER TABLE PO I NTER SEGMENT
Je
57
T EST FOR MED
I
UM RESOLUT I ON MODE
HIGH RESOLUT I ON MODE
HIGH CHAR
DI
SAVCREGEN PO INTER
51
SAVE GODE PO I NT ER
DH,4
NUMBER OF TIMES THROUGH LOOP
54:
LOoSB
GET BYTE FROM CODE PO I NTS
TEST
BL,80H
SHOULD WE USE THE FUNGT ION
IN/
56
TO PUT CHAR
IN
STOSS
STORE
IN REGEN BUFFER
LOOSB
S5:
MOV
ES:[DI+2000H-1j,AL
;
STORE
IN SECOND HALF
ADO
01,79
;
MOVE TO NEXT ROW I N REGEN
DEC
DH
j
DONE WI TH LOOP
JNZ
54
POP
51
POP
o
I
RECOVER REGEN PO INTER
ItJG
01
POINT TO NEXT CHAR POSITION
lOOP
S3
MORE CHARS TO WRITE
JMP
V IDEO_RETURN
S6:
XOR
AL,ES:[OIJ
EXCLUSIVE OR WITH CURRENT
STOSB
;
STORE THE CODE PO
I
NT
LOoSB
; AGA I N FOR ODD FIELD
XOR
AL,ES:[DI+2000H-1J
;
JMP
55
BACK TO MA I NSTREAM
j------
MEDIUM RESOLUTION WRITE
57:
MEO RES WR I TE
MOV
DL, BL
SAVE HIGH COLOR BIT
SAL
01,1
OFFSET*2 51 NCE 2 BYTES/CHAR
1fFF
5-138 Video

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents