free hit counter

IBM XT 5160 Technical Reference page 215

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

IBM Personal Computer MACRO Assembler
Version 2.00
VIDEO ---- 01/10/86
VIDEO DISPLAY BIOS
1-1
01-10-86
TEST FOR BW CARD
CONVERT TO REGEN PO INTER
OFFSET OF ACT I VE PAGE
TO ADDRESS FOR SCROLL
FROM ADDRESS FOR SCROLL
OX
=
'ROWS, 'COLS I N BLOCK
I NCREMENT FOR 0 OR I GIN
SET HIGH BYTE OF COUNT TO ZERO
GET NUMBER OF COLUMNS
IN 0 I SPLA Y
TIMES 2 FOR ATTRIBUTE BYTE
GET CHARACTERS PER LINE COUNT
DETERMINE OFFSET TO FROM ADDRESS
• 2 FOR ATTR I BUTE BYTE
SAVE LINE COUNT
GET CURRENT MODE
ESTABLISH ADDRESSING TO REGEN BUFFER
FOR BOTH PO INTERS
TEST FOR COLOR CARD SPEC I AL CASES HERE
HAVE TO HANDLE 80X25 SEPARATELY
RESTORE LINE COUNT
o
SCROLL MEANS BLANK FIELD
RETURN WITH FLAGS SET
I GET # OF COLS TO MOVE
SAVE START ADDRESS
MOVE THAT LINE ON SCREEN
RECOVER ADDRESSES
I GET # COLUMNS TO CLEAR
;
STORE THE FILL CHARACTER
I
80X25 COLOR CARD SCROLL
I GUARANTEED TO BE COLOR CARD HERE
I
WAIT DISP ENABLE
I GET PORT -
I
WA I T FOR VERT I CAL RETRACE
I WA I T_0 I SP_ENABLE
ADDRESS CONTROL PORT
TURN OFF V IDEO OUR I NG VERT I CAL RETRACE
I 0 I RECT I ON FOR SCROLL DOWN
I
I TEST FOR GRAPH I CS
TEST LINE COUNT
AH,4-
-
NI2
, AH,1
N12
GRAPH I CS_DOWN
MOVE ROW
PROC-
NEAR
MOV
CL,DL
PUSH
SI
PUSH
01
REP
MOVSW
POP
01
POP
SI
RET
ENDP
CLEAR ROW
PROC -
NEAR
MOV
CL,DL
PUSH
01
REP
STOSW
POP
01
RET
ENDP
( AH)
=
CURRENT CRT MODE
( AL)
=
NUMBER OF LINES TO SCROLL
(CX)
=
UPPER LEFT CORNER OF REG I ON
( OX )
=
LOWER RIGHT CORNER OF REG I ON
( BH)
=
FILL CHARACTER
(OS)
=
DATA SEGMENT
(ES)
=
REGEN SEGMENT
OUTPUT
NONE - -
SCREEN I S SCROLLED
;-----
; - - - - -
HANDLE COMMON SCROLL SET UP HERE
SCROLL pas I T I ON PROC
NEAR
-
CALL
POSITION
ADD
AX,(IlCRT START
MOV
DI,AX-
MOV
SI,AX
SUB
DX,CX
INC
DH
INC
DL
XOR
CH,CH
MOV
BP,(IlCRT COLS
ADD
BP,BP-
MOV
AL ,BYTE PTR (IlCRT COLS
~L
~
-
ADD
AX,AX
PUSH
AX
MOV
AL ,(IlCRT MODE
PUSH
ES
-
POP
OS
CMP
AL,2
JB
N9
CMP
AL,3
JA
N9
POP
AX
OR
BL,BL
RET
SCROLL_pas I T I ON ENDP
;
-----
-
--- - --- ------ - -- ---- - --- --- - ------
SCROLL DOWN
TH I S ROUT I NE MOVES THE CHARACTERS WITH I N A DEF I NED
BLOCK DOWN ON THE SCREEN, F I LLI NG THE TOP LI NES
WITH A DEF I NED CHARACTER
INPUT
I
PUSH
OX
MOV
DX,3DAH
N8:
IN
AL,DX
TEST
AL,RVRT
JZ
N8
MOV
AL,25H
MOV
DL,OD8H
OUT
DX,AL
POP
OX
N9:
.
- -
--- ---
- -
--
-
-- -- --- -- ------
-
--
- -- -- ----
SCROLL DOWN
PROC
NEAR
-
STD
CALL
CMP
JC
CMP
JE
JMP
NIO
NIl
N12:
CaNT I NUE DOWN
PUSH
BX
SAVE ATTR I BUTE IN BH
MOV
AX,DX
LOWER RIGHT CORNER
CALL
SCROLL_pas I T I ON
GET REGEN LOCATION
JZ
N16
SUB
SI,AX
SI
I S FROM ADDRESS
MOV
AH,DH
GET TOTAL # ROWS
SUB
AH,BL
COUNT TO MOVE I N SCROLL
N13:
CALL
Nl0
I MOVE ONE ROW
SUB
SI,BP
SUB
DI,BP
DEC
AH
JNZ
N13
N14:
POP
AX
I RECOVER ATTR I BUTE IN AH
MOV
AL, '
N15:
CALL
NIl
CLEAR ONE ROW
SUB
DI,BP
GO TO NEXT ROW
DEC
BL
JNZ
NI5
JMP
N5
SCROLL_END
N16:
MOV
BL,DH
JMP
NI4
SCROLL_DOWN
ENDP
685
686
681
688
025C
689
025C E8 0200 R
690
025F 03 06 004E R
691
0263 8B F8
692
0265 8B FO
693
0261 2B 0 I
694
0269 FE C6
695
026B FE C2
696
0260 32 ED
691
026F 8B 2E 004A R
698
0213 03 ED
699
0215 AO 004A R
100
0218 F6 E3
101
021A 03 CO
102
021C 50
103
0210 AO 0049 R
104
0280 06
105
0281
IF
106
0282 3C 02
101
0284 12 13
108
0286 3C 03
109
0288 11 OF
110
111
028A 52
112
028B BA 03DA
113
028E
114
028E EC
115
028F A8 08
116
0291
14 FB
111
0293 BO 25
118
0295 B2 08
119
0291 EE
120
0298 5A
121
0299
122
0299 58
123
029A OA DB
124
029C C3
125
0290
126
121
128
0290
129
0290 8A CA
130
029F 56
131
02AO 51
132
02A 1 F3/ A5
133
02A3 5F
134
02A4 5E
135
02A5 C3
136
02A6
131
138
139
02A6
140
02A6 8A CA
141
02A8 51
142
02A9 F3/ AB
143
02AB 5F
144
02AC C3
145
02AD
146
141
148
149
150
151
152
153
154
155
156
151
158
159
160
161
162
02AD
163
02AD FD
164
02AE E8 02EA R
165
02B I 80 FC 04
166
02B4 12 08
161
02B6 80 FC 01
168
02B9 14 03
169
02BB E9 0503 R
110
OZBE
111
02BE 53
112
02BF 8B C2
113
02C I E8 025C R
114
02C4 14 20
115
02C6 2B FO
116
02C8 8A E6
111
02CA 2A E3
118
02CC
119
02CC E8 0290 R
180
02CF 2B F5
181
0201
2B FD
182
0203 FE CC
183
0205 15 F5
184
0201
185
0201 58
186
0208 BO 20
181
02DA
188
02DA E8 02A6 R
189
0200 2B FD
190
02DF FE CB
191
02EI
15 F1
192
02E3 E9 0244 R
193
02E6
194
02E6 8A DE
195
02E8 EB ED
196
02EA
5-68
VIDEO (01/10/86)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents