EasyManua.ls Logo

IBM XT 5160 - Page 211

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
Persona
I
Computer
MACRO
Assemb
I
er
Vers
i
on
2.00
VIDEO
----
01/10/86
VIDEO
DISPLAY
BIOS
1-3
01-10-86
INPUT
SET
MODE
- TH I S ROUT I NE I
NIT
I
ALI
ZES
THE ATTACHMENT TO
THE
SELECTED
MODE. THE SCREEN I S
BLANKED.
"EQUIP
FLAG
BITS
5-4
=
MODE/WIDTH
1
1-=
MONOCHROME
(FORCES
MODE
7)
01
= COLOR ADAPTER
40
x
25
(MODE 0
DEFAULT)
10
= COLOR ADAPTER
80x25
(MODE 2
DEFAUL
Tl
(AL)
= COLOR
MODE
REQUESTED
(RANGE
0 - 6 )
CHECK FOR
VALID
COLOR MODES
0-6
CONT I NUE I F BELOW
MODE
7
FORCE
DEFAULT
40x25
BW
MODE
CHECK FOR
"EQUIP
FLAG
AT
80x25
BW
CONTINUE
WITH
MODE
0
IF
NOT
ELSE
FORCE
MODE
2
SA
VE
MODE
I N
GLOBAL
V
AR
I
ABLE
SAVE
ADDRESS OF
BASE
I
NIT
I
ALI
ZE
DEFAULT
ROW
COUNT OF
25
SA VE
PO
I NTER TO
DATA
SEGMENT
SAVE
MODE NUMBER
(All
CLEAR
HIGH
BYTE
OF
MODE
SET
TABLE
PO
INTER,
I NDEXED BY MODE
GET
THE
MODE
SET
V
ALUE
FROM
TABLE
SAVE
THE
MODE
SET
VALUE
V
IDEO
OFF,
SAVE
HIGH
RESOLUTI
ON
BI
T
SAVE
OUTPUT PORT
VALUE
PO I
NT
TO
CONTROL REG I STER
RESET
V
IDEO
TO
OFF
TO SUPPRESS
ROLLI
NG
BACK TO
BASE
REG I STER
SET
UP FOR ABSO SEGMENT
EST
ABL
I
SH
VECTOR
TABLE
ADORES
SING
GET
PO
I
NTER
TO
V
IDEO
PARMS
RECOVER
MODE
NUMBER
IN
(AL)
LENGTH
OF EACH
ROW
OF
TABLE
DETERM I NE
WH
I CH ONE TO
USE
MODE
ISO
OR
1
NEXT
ROW
OF I
NIT
I
ALI
ZAT
I
ON
TABLE
SAVE
WORK
AND PARAMETER REG I STERS
PO I
NT
OS:
TO
OATA SEGMENT
SAVE
COMMAND/DATA
INTO
(SI)
REGISTER
GET
THE EQU I PMENT
FLAG
V
IDEO
BI
TS
I
SOLATE
CRT
SW
ITCHES
IS
SETT
I
NG
FOR MONOCHROME CARD?
GET SEGMENT FOR COLOR CARD
SK
I P I F NOT MONOCHROME CARD
ELSE
GET SEGMENT FOR MONOCHROME CARD
ENTRY PO I
NT
FOR
ORG
OF065H
I
NTERRUPTS
BACK
ON
SET
0 I RECT I
ON
FORWARD
TEST
FOR
WITHIN
TABLE
RANGE
BRANCH TO EX I T I F NOT
A
VAL
I 0 COMMAND
; OUT
INIT
;
SAVE
MODE
IN
(AL)
; GET
THE
CURSOR MODE FROM
THE
TABLE
;
PUT
CURSOR
MODE
I N CORRECT POS I
TI
ON
;
SAVE
TABLE
SEGMENT PO
INTER
PO I
NT
OS
TO
DATA
SEGMENT
PLACE
INTO
BI
OS
DATA
SAVE AREA
RESTORE
THE
TABLE
SEGMENT
POINTER
AH
I S REG I STER NUMBER
OUR
I
NG
LOOP
;
MODE I S
4,
5,
OR
6
;
MOVE TO
BW
CARD
ROW
OF
INIT_TABLE
; MODE I S 2
OR
3
MOVE TO GRAPH I CS
ROW
OF I N
IT
_
TABLE
; COMMAND NOT
VAL
I 0
;
DO
NOTHING
IF
NOT
IN
VALID
RANGE
AX
AX,[BX+l0J
AH,AL
OS
OS
:DATA
DDS
"CURSOR
MODE, AX
DS:CODE-
OS
AH,AH
"CRT
MODE,
AL
"ADDR
6845,
OX
"ROWS~25-1
OS
AX
SI,AX
AL,CS:
[SI
+
OFFSET
M7]
"CRT
MODE
SET,
AL
AL,037H
-
OX
DX,4
DX,AL
OX
OS:
ABSO
BX,BX
DS,BX
BX,
"PARM
PTR
DS:CODE
-
AX
CX,16
AL,2
M9
BX,CX
AL,4
M9
BX,CX
AL,7
M9
BX,CX
AL,7
M8
AL,O
DI,20H
M8
AL,2
ENDP
AH,MIL/2
M4
ES
OS
OX
CX
BX
SI
01
BP
S I
,DATA
DS,SI
SI,AX
AL
,BYTE
PTR
"EQU
I P
FLAG
AL,30H
-
AL,30H
DI,OB800H
M2
01
,OBOOOH
PROC NEAR
PUSH
MOV
XCHG
PUSH
ASSUME
CALL
MOV
ASSUME
POP
XOR
LOOP THROUGH
TABLE,
OUTPUTTING
REGISTER
ADDRESS,
THEN
VALUE
FROM
TABLE
BX
PO
I
NTS
TO CORR,ECT
ROW
OF I N I
TI
ALI
ZA
TI
ON
TABLE
MOV
MOV
MOV
PUSH
PUSH
CBW
MOV
MOV
MOV
AND
PUSH
ADD
OUT
POP
ASSUME
SUB
MOV
LOS
ASSUME
POP
MOV
CMP
.1C
ADD
CMP
.1C
ADD
CMP
.1C
ADD
CMP
.1B
MOV
CMP
.1E
MOV
MOV
ES,DI
SET
UP TO
POINT
AT
VIDEO
MEMORY AREAS
MOV
AL
,
AH
PLACE
COMMAND I N
LOW
BYTE
OF
(AX)
CBW
AND FORM
BYTE
OFFSET
WITH
COMMAND
SAL
AX,
1
TIMES
2 FOR
WORD
TABLE
LOOKUP
XCHG S I
,AX
MOVE
OFFSET
I NTO LOOK UP REG I STER
(S
I )
AND RESTORE
COMMAND / OATA
INTO
(AX)
MOV
AH
,
"CRT_MODE
MOVE CURRENT
MODE
INTO
(AH)
REG I STER
.1MP
WORD
PTR
CS:
[s
I
+OFFSET
MI ] ;
GO
TO
SELECTED
FUNCT
I
ON
PUSH
PUSH
PUSH
PUSH
PUSH
PUSH
PUSH
PUSH
MOV
MOV
MOV
MOV
AND
CMP
MOV
.1NE
MOV
M9:
M8:
M8C:
M4:
OUTPUT
NONE :
;~~
-
~~~~
------- -
;~~~
----
~~~~
-------------------- ---------
-
MOV
OX,
03D4H
ADDRESS OF COLOR CARD
MOV
0 I
,"EQU
I P
FLAG
GET EQU I PMENT
FLAGS
SETT
I
NG
AND 0 I
,30H
- I
SOLATE
CRT
SW
ITCHES
CMP
0 I
,30H
IS
BW
CARD I
NSTALLED
AS
PR I MARY
.1NE
M8C
SK
I P AND CHECK I F COLOR
MOV
AL,7
ELSE
INDICATE
INTERNAL
BW
CARD MODE
MOV
DL,OB4H
SET
ADDRESS OF
BW
(MONOCHROME) CARD
.1MP
SHORT M8 CONT I NUE
WITH
FORCED
MODE
7
VIDEO
10
I
- STI
CLD
CMP
.1NB
M2:
229
0028
230
0028
FB
231
0029
FC
232
002A
80
FC
233
d02D.
73
2F
234
235
002F
06
236
0030
IE
237
0031
52
238
0032
51
239
0033
53
240
0034
56
241
0035
57
242
0036
55
243
0037
BE
----
R
244
003A
8E
DE
245
003C
8B
FO
246
003E
AO
0010
R
247
0041
24
30
248
0043
3C
30
249
0045
BF
B800
250
0048
75
03
251
004A
BF
BOOO
252
0040
253
0040
8E
C7
254
004F
8A
C4
255
0051
98
256
0052
OlEO
257
0054
96
258
259
0055
8A
26
0049
R
260
26
I
0059
2E:
FF
A4
0000
R
262
263
005E
264
005E
CF
265
005F
266
267
268
269
270
271
272
273
274
275
276
277
278
279
005F
280
005F
BA
0304
281
0062
8B
3E
0010
R
282
0066
81
E7
0030
283
006A
83
FF
30
284
0060
75
06
285
006F
BO
07
286
0071
B2 B4
287
0073
EB
00
288
0075
289
0075
3C
07
290
0077
72
09
291
0079
BO
00
292
007B
83
FF
20
293
007E
74
02
294
008'0
BO
02
295
0082
296
0082
A2
0049
R
297
0085
89
16
0063
R
298
0089
C6
06
0084
R
18
299
008E
1E
300
008F
50
301
0090
98
302
0091
8B
FO
303
0093
2E:
8A
84
0000
E
304
0098
A2
0065
R
305
009B
24
37
306
0090
52
307
009E
83
C2
04
308
OOA
1
EE
309
00A2
5A
310
31 I
00A3
2B
DB
312
00A5
8E
DB
313
00A7
C5
IE
0074
R
314
315
OOAB
58
316
OOAC
B9
0010
317
OOAF 3C
02
318
OOBI
72
OE
319
00B3
03
09
320
00B5
3C
04
321
00B7
72
08
322
00B9
03
09
323
OOBB 3C
07
324
OOBD
72
02
325
OOBF
03
09
326
327
328
329
OOC
1
330
OOC
1
50
331
00C2
8B
47
OA
332
00C5
B6
EO
333
00C7
1E
334
335
00C8
E8
0000
E
336
OOCB
A3
0060
R
337
338
OOCE
1F
339
OOCF
32
E4
340,
341
342
5-64
VIDEO
(01/10/86)

Table of Contents

Related product manuals