IBM RT Series Hardware Reference Manual page 282

Hide thumbs Also See for RT Series:
Table of Contents

Advertisement

lB50
1 B50
F7 26 044A R
lB61
51
lB62
01 E9
lB64
01 E9
lB66
01 E9
lB68
03 Cl
IBM
8A OF
lB6C
2A FF
lB6E
88 CB
lB70
8B IE 044C R
lB74
E3 04
lB76
lB76
03 C3
lB78
E2 FC
lB7A
1 B7A
59
lB7B
88 08
lB70
80 El 07
lB80
BO 80
1 B82
02 E8
lB84
C3
lB85
lB85
lB85
53
lB86
50
lB87
BO 28
lB89
52
lBBA
80 E2 FE
lB80
F6 E2
lB8F
5A
lB90
F6 C2 01
lB93
74 03
lB9~
05 2000
lB98
lB98
88 FO
lB9A
58
lB9B
8B 01
1 B90
B8 02CO
lBAO
B9 0302
1 BA3
80 3E 0449 R 06
lBAS
72 06
IBM
BB 0180
lBAO
B9 0703
lBBO
lBBO
22 EA
lBB2
03 EA
lBB4
03 F2
lBB6
8A
F7
lBB8
2A C9
lBBA
lBBA
DO C8
lBBC
02 CD
lBBE
FE
CF
lBCO
75 F8
1 BC2
8A E3
lBC4
02 EC
1 BC6
5B
lBC7
C3
lBC8
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5071
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
BH ;
PAGE
EXIT
BX = OFFSET I NTO REGEN
AL ;
BIT MASK FOR COLUMN BYTE
6~T
=
SU P
=
~
-------
PR~C
----
N~;R
---------------------
; ----- OFFSET = PAGE OFFSET
+
ROW
*
BYTES/ROW
+
COLUMN/8
MUL
PUSH
SHR
SHR
SHR
ADD
MOV
SUB
MOV
MOV
JCXZ
ADD
LOOP
POP
MOV
AND
MOV
SHR
RET
DOT_SUP_l
WORD PTR CRT COLS
CX
-
CX,1
CX,1
CX,1
AX,ex
BL, BH
BH,BH
CX,BX
BX,CRT_LEN
OS_2
AX,BX
OS_3
CX
BX,AX
CL,07H
AL,080H
AL,CL
ENOP
ROW
*
BYTES/ROW
SAVE COLUMN VALUE
DIVIDE BY EIGHT TO
DETERMI NE THE BYTE THAT
TH I S DOT I SIN
(8 BITS/BYTE)
BYTE OFFSET I NTO PAGE
GET PAGE INTO BL
ZERO
COUNT VALUE
LENGTH OF ONE PAGE
PAGE ZERO
BUMP TO NEXT PAGE
DO FOR THE REST
RECOVER COLUMN VALUE
REGEN OFFSET
SH I FT COUNT FOR BIT MASK
MASK BI T
POSITION MASK BIT
: -
T~ ~
S -
SUiiROUT~ N~- ii~T~RM ~
N
~S
-
T~E
-REGEN
-ii~T
E -LOC;T
~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
;
OH =
#
BITS I N RESULT
~i
------
PROC --- -N E;R-------------------------------------
PUSH
BX
SAVE BX DURING OPERATION
PUSH
AX
WILL SAVE AL DURING OPERATION
;----- DETERMINE 1ST BYTE IN IDICATED ROW BY MULTIPLYING ROW VALUE BY 40
( LOW BIT OF ROW DETERM I NES EVEN/ODD, 80 BY!ES/ROW
MOV
PUSH
AN~
MUL
POP
TEST
JZ
ADD
AL,40
OX
DL,OFEH
DL
OX
DL,l
R4
AX,2000H
SAVE ROW VALUE
STR I P OFF ODD/EVEN BIT
AX HAS ADDRESS OF 1 ST BYTE
OF INDICATED ROW
RECOVER IT
TEST FOR EVEN/ODD
JUMP I F EVEN ROW
C
R4:
OFFSET TO LOCAT I ON OF ODD ROWS
EVEN ROW
MOVCPO I NTER TO S I
RECOVER AL VALUE
COLUMN VALUE TO OX
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
MOV
POP
MOV
SI,AX
AX
OX,CX
; ----- OETERMI HE GRAPH I CS MODE CURRENTLY
I N EFFECT
; -
S~
T -U P -
T~E
-REG
~
ST ERs-
;cCORii~
NG -TO -
T~E
-MoiiE ------------------
--~
;
CH; MASK FOR LOW OF COLUMN ADDRESS ( 7/3 FOR HI GH/MED RES)
:
;
CL =
/I
OF ADDRESS BITS I N COLUMN VALUE ( 3/2 FOR H/M)
:
;
BL = MASK TO SELECT BITS FROM PO I NTED BYTE (80H/COH FOR H/M) :
;
BH = NUMBER OF VALID BITS IN POINTED BYTE ( 1/2 FOR H/M)
:
;
....
--_
............
--_
..
- ....
-_
..
--_
.. -- --
--_
....
-- --
-_
..
---_
..
- ..
-_
..
--_
..............
-_
..
MOV
MOV
CMP
JC
MOV
MOV
BX,2COH
CX,302H
CRT_MODE,6
R5
BX,180H
CX,703H
SET PARMS FOR MED RES
HANDLE IF MED ARES
SET PARMS FOR HIGH RES
;----- DETERMINE BIT OFFSET IN BYTE FROM COLUMN MASK
C
R5:
C
C
C
C
C
C
C
C
C
C
C
AND
CH,DL
; ADDRESS OF PEL WITHIN BYTE TO CH
;----- DETERMINE BYTE OFFSET FOR THIS LOCATION IN COLUMN
SHR
ADD
MOV
DX,CL
SI/OX
DH, BH
SH I FT BY CORRECT AMOUNT
I NCREMENT THE PO INTER
GET THE
/I
OF BITS IN RESULT TO DH
;----- MULTIPLY BH (VALID BITS IN BYTE) BY CH (BIT OFFSET)
C
R6:
SUB
ROR
ADD
DEC
JNZ
CL,CL
AL,1
CL,CH
BH
ZERO I NTO STORAGE LOCAT I ON
LEFT JUST I FY THE VALUE
C
C
C
C
C
C
C
C
C
C
R6
AH, BL
AH, CL
BX
IN AL (FOR WRITE)
ADD I N THE BIT OFFSET VALUE
LOOP CONTROL
ON EX IT, CL HAS SH I FT COUNT
TO RESTORE BITS
GET MASK TO AH
MOVE THE MASK TO CORRECT LOCAT I ON
RECOVER REG
RETURN WITH EVERYTH I NG SET UP
C
R3
MOV
SHR
POP
RET
ENOP
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
;
----------------------------------------------------------------
READ DOT
-- WR I TE DOT
THESE ROUT I NES WILL WR I TE A DOT, OR READ THE DOT AT
THE
INDICATED LOCATION
ENTRY --
OX = ROW (0-199)
(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,
REQ'D FOR WRITE DOT ONLY, RIGHT JUSTIFIED)
BIT 7 OF AL=l
INDICATES XOR THE VALUE
INTO THE LOCATION
OS
=
OATA SEGMENT
ES = REGEN SEGMENT
; EXIT
AL = DOT VALUE READ, RIGHT JUSTIFIED, READ ONLY
;
----------------------------------------------------------------
142 IBM Enhanced Graphics Adapter

Advertisement

Table of Contents
loading

Table of Contents