IBM 5170 Technical Reference page 271

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

0067
50
POP
BP
0068
0068
006c
0071
8A 26 0049 R
2E;
FF A4 0000 R
MM3:
MOV
JMP
VIDEO_IO_l
AH,CRT_MODE
; GET CURRENT MODE
INTO AH
WORO PTR CS:! S I +OFFSET M1
J
[NDP
SET MODE
-
THIS ROUTINE INITIALIZES THE ATTACHMENT TO
THE SELECTED MODE.
THE SCREEN
I
S BLANKED.
;
INPUT
;
(AL)
0;:;
MODE SELECTED (RANGE 0-9)
;
OUTPUT
;
NONE
,..-....,
0071
0071
0074
0076
0079
007B
0070
0080
BA 0304
El3 00
83 FF 30
75 07
BO 07
SA 03B4
FE C3
SET MODE
-
MOV
MOV
CMP
JNE
MOV
MOV
INC
PROC
NEAR
DX,03D4H
BL,O
01,30H
M8
AL,7
OX,03B4H
BL
;
ADDRESS OF COLOR CARD
MoaE SET FOR COLOR CARD
IS BW CARD I NSTALLEO
OK WITH COLOR
INDICATE BW CARD MODE
ADDRESS OF BW CARD
MODE SET FOR
8W CARD
0082
0084
8A
EO
A2 0049
R
M8:
MOV
MOV
AH,AL
CRT_MODE, AL
SAVE MODE
IN
AH
SAVE
I N GLOBAL
VAR
IABLE
0087
89 16 0063
R
MOV
AODR_684S, OX
SAVE ADDRESS OF BASE
008B
1E
PUSH
OS
SAVE PO I NTER TO DATA SEGMENT
008C
50
PUSH
AX
SAVE MODE
0080
52
PUSH
OX
SAVE OUTPUT PORT
VALUE
008E
83 C2 04
AOO
OX,4
PO I NT TO CONTROL REG I STER
0091
8A C3
MOV
AL, BL
GET MODE SET fOR CARD
0093
0094
EE
5A
OUT
POP
OX,AL
OX
RESET VIDEO
oACK TO BASE REGISTER
0095
0097
26 CO
8E
08
SUB
MOV
AX,
AX
OS,AX
SET UP FOR ABSO SEGMENT
[STABL I SH VECTOR TABLE ADDRESS I NG
ASSUME
Os: ABSO
0099
0090
C5 1
E
0074
R
58
LOS
POP
BX, PARM PTR
AX
-
GET PO I NTER TO V
J
OED PARMS
RECOVER PARMS
ASSUME
OS: CODE
009E
B9 0010
MOV
CX,M4
LENGTH Of EACH ROW OF TABLE
OOAl
80 Fe 02
CMP
AH,2
DETERMINE WHICH ONE TO USE
00A4
72
10
Je
M9
MODE ISO OR 1
00A6
03 09
ADO
BX,CX
NOVE TO NEXT ROW OF
I NIT TABLE
00A8
80 Fe 04
eMP
AH,4
OOAB
OOAO
72 09
03 09
Je
ADD
"9
BX,CX
MODE
IS
2
OR
3
MOVE TO GRAPHICS ROW OF IN IT_TABLE
OOAr
80 FC 07
CMP
AH,7
00B2
72
02
JC
M9
MODE
IS
4,5,
OR 6
00B4
03 09
ADO
ax,cx
MOVE TO BW CARD ROW OF
INIT_TABLE
;~~~--
BX POINTS TO CORRECT ROW
OF
INITIALIZATION TABLE
00B6
M9:
OUT
INIT
0066
50
PUSH
AX
SAVE MODE IN
AH
00B7
06
PUSH
ES
SAVE SCREEN BUFFER'S SEGMENT
00B8
33 CO
XOR
AX, AX
EST
A8l I SH ADDRESS I B I L I TY TO ABSO
OOBA
OOBC
OOBF
B[ CO
8B 47 OA
86 EO
MOV
MOV
XCHG
ES,AX
AX, WORD PTR [8X+1O
1
AH,AL
GET THE CURSOR
MODE FROM
THE TABLE
PUT CURSOR MODE
IN
CORRECT POSTIDN
ASSUME
ES:ABSO
OOCl
26: A3 0460 R
MOV
ES:WORD PTR DATA_AREA[CURSOR_MODE-DATA],AX
~
ASSUME
ES:VIDEO_RAM
00C5
07
POP
ES
;
RESTORE THE SCREEN BUFFER'S SEGMENT
00C6
32 E4
XOR
AH,AH
; AH WILL SERVE
AS
REG
I
STER NUMBER OUR
I NG
LOOP
LOOP THROUGH TABLE, OUTPUTTTING REG ADDRESS. THEN VALUE FROM TABLE
OOC8
Ml0:
INIT LOOP
00C8
8A C4
MOV
AL,AH
GET
6845 REG I STER NUMBER
OOCA
EE
OUT
DX,AL
OOCEl
"'
INC
OX
POINT TO DATA PORT
OOCC
OOCE
0000
FE Clj
8A 07
EE
INC
MOV
OUT
AM
AL, [aXI
DX,AL
NEXT REGI STER VALUE
GET
TABLE VALUE
OUT TO CHI
P
0001
43
INC
BX
NEXT I
N TABLE
0002
4A
OEC
DX
BACK TO POINTER REGISTER
0003
[2
F3
LOOP
M10
DO THE WHOLE TABLE
0005
58
POP
AX
GET MODE BACK
0006
1F
POP
ASSUME
OS
os:
DATA
RECOVER SEGMENT VALUE
FILL REGEN AREA WITH BLANK
0007
33 FF
XOR
01,01
SET UP PO I NTER FOR REGEN
0009
89 3E 004E R
MOV
CRT_START, 01
START ADDRESS SAVED IN GLOBAL
DODD
00E2
C6 06 0062 R 00
B9 2000
MOV
MOV
ACTIVE_PAGE,O
CX,8192
SET PACE VALUE
NUMBER
Of
WORDS I N COLOR CARD
ODES
00E8
80 FC 04
72 OB
CMP
Je
AH,4
M12
TEST FOR GRAPH I CS
NO_GRAPH
I
CS_I NIT
OOEA
80 FC 07
eMP
AH,7
TEST FOR
BW
CARD
OOED
74
04
JE
M11
BW_CARD_INIT
OOEF
33
CO
XOR
AX,AX
FILL FOR GRAPH I CS MODE
OOFl
EB
as
JMP
SHORT M13
CLEAR_BUFFER
00F3
M11 :
BW_CARD_INIT
00F3
B5 08
MOV
CH,08H
BUFFER SIZE ON BW CARD (2048)
00F5
M12:
NO GRAPHICS INIT
00F5
00F8
B8 0720
M13:
MOV
AX, •
'+7*256
FILL CHAR
fOR
ALPHA
CLEAR BUFfER
OOFS
F3/ AB
REP
STOSW
FILL THE REGEN BUFFER WITH BLANKS
; ----­ ENABLE V I OEO AND CORRECT PORT SETT I NG
OOfA
OOFD
AO 0049 R
32 E4
MOV
XOR
AL,CRT_MODE
AH,AH
;
;
GET
THE MODE
I NTO AX REG
I
STER
OOFF
8B FO
f'10V
SI,AX
;
TABLE POINTER,
INDEXED BY MODE
0101
8B 16 0063 R
MOV
ox,
ADDR_6845
PREPARE TO OUTPUT TO VIDEO ENABLE PORT
~
0105
83 C2 04
ADO
DX,4
0108
2E: SA 84 0000 E
MOV
AL,CS: [SI
+
OFFSET BYTE PTR M7)
0100
EE
OUT
DX,AL
;
SET V IDEO ENABLE PORT
alOE
A2 0065 R
MOV
CRT_MaDE_SET ,AL
;
SAVE THAT VALUE
;----- DETERMINE NUMBER OF COLUMNS,
BOTH FOR ENTIRE DISPLAY
;----- AND THE NUMBER TO
BE
USED FOR TTY INTERFACE
0111
2E: 8A 84 0000 E
MOV
AL,CS:{SI
+
OFFSET BYTE PTR M6}
0116
32 E4
XOR
AH,AH
0118
A3 004A R
MOV
CRT_COLS,AX
NUMBER OF
COLUI~NS
IN THIS SCREEN
SET CURSOR POS I T IONS
011B
81 E6 OOOE
AND
SI,OEH
WORD OFFSET INTO CLEAR LENGTH TABLE
Video 5-129

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents