EasyManua.ls Logo

IBM XT 5160 - Page 219

IBM XT 5160
420 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
IBM
Personal
Computer
MACRO
Assembler
Version
2.00
VIDEO
----
01/10/86
VIDEO
DISPLAY
BIOS
1-1
I
01-10-86
PAGE
AL
: DOT
VALUE
READ,
RIGHT
JUSTIFIED,
READ ONLY
~;
------
;~~~-
--
-~~~~
--------------------------
--
DETERMINE
1ST
BYTE
IN
INDICATED
ROW.
BY
MULTIPLYING
ROW
VALUE
BY
40
(
LOW
BIT
OF
ROW
DETERMINES
EVEN/ODD,
80
BYTES/ROW)
DETERM I NE GRAPH I
CS
MODE CURRENTLY I N
EFFECT
SET
UP
THE
REG I
STERS
ACCORD I
NG
TO
THE
MODE
CH : MASK FOR
LOW
OF COLUMN ADDRESS (
1/3
FOR
HIGH/MED
RES )
CL
: # OF ADDRESS
BITS
IN
COLUMN
VALUE
(
3/2
FOR
H/M
)
BL
: MASK TO
SELECT
BITS
FROM
POINTED
BYTE
(
80H/COH
FOR
HIM
)
BH :
NUMBER OF
VALID
BITS
IN
POINTED
BYTE
(
1/2
FOR
H/M
)
SAVE
DOT
VALUE
TWICE
DETERM I NE
BYTE
POS I T I
ON
OF THE DOT
SH
I
FT
TO
SET
UP
THE
BITS
FOR OUTPUT
STR I P
OFF
THE
OTHER
BITS
GET
THE
CURRENT
BYTE
RECOVER
XOR
FLAG
IS
IT
ON
YES,
cXOR
THE
DOT
SET
MASK TO REMOVE
THE
INDICATED
BITS
OR
IN
THE
NEW
VALUE
OF THOSE
BITS
FINI
SH DOT
RESTORE
THE
BYTE
I N MEMORY
;
SH
I
FT
BY
CORRECT AMOUNT
; I NCREMENT
THE
PO
INTER
;
GET
THE'
OF
BITS
IN
RESULT
TO DH
; ADDRESS OF
PEL
WITH
I N
BYTE
TO CH
;
SET
PARMS FOR
MED
RES
HANDLE
IF
MED
RES
;
SET
PARMS FOR
HIGH
RES
;
WILL
SAVE
AL
AND AH
OUR
I
NG
OPERAT I
ON
AX:
ADDRESS OF
START
OF
INDICATED
ROW
TEST
FOR
EVEN/ODD
ROW
CALCULATED
JUMP
I F
EVEN
ROW
OFFSET
TO
LOCAT
I
ON
OF ODD
ROWS
ADJUST
EVEN
ROW
MOVE-PO
I
NTER
TO
(S
I)
AND RECOVER (
AX)
COLUMN
VALUE
TO
OX
; ZERO
INTO
STORAGE
LOCATION
LEFT
JUSTIFY
VALUE
IN
AL
(FOR
WRITE)
ADD I N
THE
BIT
OFFSET
VALUE
LOOP CONTROL
ON
EX
IT,
CL
HAS COUNT TO RESTORE
BITS
GET MASK TO
AH
MOVE
THE
MASK TO CORRECT
LOCAT
I
ON
RETURN
WITH
EVERYTH
I
NG
SET
UP
; DETERM I NE
BYTE
POS I T I
ON
OF DOT
;
GET
THE
BYTE
; MASK
OFF
THE
OTHER
BITS
I N
THE
BYTE
;
LEFT
JUSTI
FY
THE
VALUE
;
GET
NUMBER OF
BITS
IN
RESULT
;
RIGHT
JUST
I
FY
THE
RESULT
; RETURN FROM V
IDEO
I
/0
NEAR
CL,CL
SI,AX
AL,40
DL
AL,008H
R4
AX,2000H-40
BX,2COH
CX,302H
tlCRT
MODE,6
R5
-
BX,180H
CX,103H
OS
:DATA
,ES
:DATA
PROC NEAR
R3
AL,ES:
[SI]
AL,AH
AL,CL
CL,DH
AL,CL
V
IDEO
RETURN
ENDP -
SI,AX
DX,CX
CH,DL
ES:
[SI]
,AL
AX
V
IDEO_RETURN
PROC
AX
AX
R3
AL,CL
AL,AH
CL,ES:[SI]
BX
BL,80H
R2
AH
CL,AH
AL,CL
AL,I
CL,CH
BH
R6
AH,BL
AH,CL
DX,CL
SI,DX
DH,BH
AND
SUB
MULTIPLY
BH
(VALID
BITS
IN
BYTE)
BY
CH
(BIT
OFFSET)
MOV
MOV
CMP
JC
MOV
MOV
MOV
POP
JMP
XCHG
MOV
MUL
TEST
JZ
ADD
XCHG
MOV
DETERM I NE
BIT
OFFSET
I N
BYTE
FROM COLUMN MASK
DETERM I NE
BYTE
OFFSET
FOR TH
IS
LOCAT
I
ON
I N COLUMN
SHR
ADD
MOV
ROR
ADD
DEC
JNZ
MOV
SHR
RET
ENDP
RETURN
FROM V
IDEO
I
/0
XOR
DOT
XOR
AL,
CL
EXCCUS I VE
OR
THE
DOTS
JMP
R 1
FIN
I
SH
UP
THE
WR
I T I
NG
~~:~:
=
~~~
-------
:~~~
------------------- -----
--
TH I S SUBROUT I NE DETERM I NES
THE
REGEN
BYTE
LOCAT
I
ON
OF
THE
;
INDICATED
ROW
COLUMN
VALUE
IN
GRAPHICS
MODE.
;
ENTRY
--
OX
:
ROW
VALUE
(0-199)
CX : COLUMN
VALUE
(0-639)
;
EXIT
--
S I :
OFFSET
I NTO REGEN
BUFFER
FOR
BYTE
OF
INTEREST
AH
: MASK TO STR I P
OFF
THE
BITS
OF
INTEREST
CL
:
BITS
TO
SHIFT
TO
RIGHT
JUSTIFY
THE
MASK
IN
AH
DH : #
BITS
IN
RESULT
BX
:
MODIFIED
.-------
--
-----------------------------------
READ DOT - -
WR
I
TE
DOT
THESE
ROUT I NES
WILL
WR
I
TE
A
DOT,
DR
READ
THE
DOT AT THE
INDICATED
LOCATION
ENTRY
--
OX
:
ROW
(0
- 1
99)
(THE
ACTUAL
VALUE
DEPENDS
ON
THE
MODE)
CX : COLUMN (
0-639)
(
THE
VALUES
ARE NOT RANGE
CHECKED)
AL
: DOT
VALUE
TO
WRITE
(1,2
OR
4
BITS
DEPENDING
ON
MODE,
;
REQUIRED
FOR
WRITE
DOT
ONLY,
RIGHT
JUSTIFIED)
BIT
1 OF
AL
: 1
INDICATES
XOR
THE
VALUE
INTO
THE
LOCATION
;
OS:
DATA
SEGMENT
;
ES:
REGEN SEGMENT
;
EXIT
R2:
R4:
Rl
:
R3
R6:
ASSUME
READ DOT
-
CALL
MOV
AND
SHL
MOV
ROL
JMP
READ_DOT
WRITE
DOT
- PUSH
PUSH
CALL
SHR
AND
MOV
POP
TEST
JNZ
NOT
AND
OR
R5:
1103
1104
1105
1106
1101
1108
1109
1110
1111
1112
1113
1114
1115
1116
1111
1118
1119
1120
1121
043F
1122
043F
E8
0413
R
1
123
0442
26:
8A
04
1
124
0445
22
C4
1
125
0441
02
EO
1
126
0449
8A
CE
1121
044B
02
CO
1
128
0440
E9
0130
R
1129
0450
1130
1131
0450
1132
0450
50
1133
0451
50
1134
0452
E8
0413
R
1
135
0455
02
E8
1
136
0451
22
C4
1131
0459
26:
8A
OC
1138
045C
5B
1
139
0450
F6
C3
80
1140
0460
15
00
1141
0462
F6
04
1
142
0464
22
CC
1
143
0466
OA
C I
1144
0468
I
145
0468
26:
88
04
1146
046B
58
1
141
046C
E9
0130
R
1148
046F
1149
046F
32
Cl
1150
0411
EB
F5
1151
0413
1152
1153
1154
1155
1156
1151
1158
1159
1160
1161
1162
1163
1164
1165
0413
1166
1161
1168
1169
1110
0413
96
11110414
BO
28
1112
0416
F6
E2
1113
0418
A8
08
1114
041A
14
03
1115
041C
05
lFD8
1116
041F
1111
041F
96
1118
0480
8B
01
1119
1180
1181
1182
1183
1184
1185
1186
1181
I
188
0482
BB
02CO
1
189
0485
B9
0302
1
190
0488
80
3E
0049
R
06
1191
0480
12
06
1
192
048F
BB
0180
1193
0492
B9
0103
1194
1195
1196
0495
1191
0495
22
EA
1198
1199
1200
1201
0491
03
EA
1202
0499
03
F2
1203
049B
8A
Fl
1204
1205
1206
1201
0490
2A
C9
1208
049F
1209
049F
DO
C8
1210
04A
1
02
CD
12 1 1
04A3
FE
CF
1212
04A5
15
F8
1213
04A
1
8A
E3
1214
04A9
02
EC
1215
04AB
C3
1216
04AC
5-72 VIDEO
(01/10/86)

Table of Contents

Related product manuals