EasyManua.ls Logo

IBM XT 5160 - Page 215

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
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)

Table of Contents

Related product manuals