EasyManua.ls Logo

IBM XT 5160 - Page 217

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-9
01-10-86
PAGE
INPUT
WR
I
TE
AC
CURRENT
-THIS
ROUT I NE
WR
I
TES
THE
ATTR
IBUTE
AND CHARACTER
AT
THE
CURRENT CURSOR
POSITION
IS
THIS
GRAPHICS
I S TH I S
BW
CARD
GET REGEN
LOCAT
I
ON
AND PORT ADDRESS
ADDRESS OF
LOCATION
IN
(01)
IS
THIS
GRAPHICS
I I S
TH
I S
BW
CARD
WR
I
TE
AC
CONT I NUE
GET
REGEN-LOCAT
I
ON
AND PORT ADDRESS
ADDRESS
IN
(0
I)
REG I STER
CHECK
MODE
FLAG
FOR COLOR CARD AT
80
SK I P TO
RETRACE
WA
I T I F COLOR
AT
80
GET
THE
ATTRICHAR
SAVED FOR
FAST
WRITE
STRING
WRITE
THE
ATTRIBUTE
& CHARACTER
EXIT
FAST
WRITE
ROUTINE
WA
I T FOR
HOR
I
ZONTAL
RETRACE
OR
VERT I
CAL
RETRACE
I F COLOR
80
CALL
F I ND_POS I
TI
ON
OR
BL,BL
JZ
P32
XCHG
AX,BP
REP
STOSW
JMP
SHORT
P35
P41
:
STI
OR
BL,BL
JNZ
P43
CLI
IN
AL,DX
TEST
AL,RVRT
JNZ
P43
TEST
AL,RHRZ
JNZ
P41
P42:
IN
AL,DX
TEST
AL,RVRT+RHRZ
JZ
P42
P43:
MOV
AX,BP
STOSB
INC
01
LOOP
P41
JMP
V
IDEO_RETURN
WR
I
TE_C_CURRENT
ENDP
CALL
WAIT
FOR
HORIZONTAL
RETRACE
OR
VERTICAL
RETRACE
IF
COLOR
80
WA
I T FOR HORZ RETRACE
LOW
OR
VERT
I
CAL
ENABLE
INTERRUPTS
FIRST
CHECK MODE
FLAG
FOR COLOR CARD
IN
80
ELSE
SKIP
RETRACE
WAIT
-
DO
FAST
WRITE
BLOCK I
NTERRUPTS
FOR
SINGLE
LOOP
GET
STATUS
FROM
THE
ADAPTER
CHECK FOR VERT I
CAL
RETRACE
FIRST
DO
FAST
WRITE
NOW
IF
VERTICAL
RETRACE
I S
HOR
I ZONT
AL
RETRACE
LOW
THEN
WA
I T
UNT
I
LIT
I S
WA
I T FOR
EITHER
RETRACE
HIGH
GET
STATUS
AGAIN
IS
HOR
I ZONT
AL
OR
VERT
I
CAL
RETRACE
HIGH
WA
I T
UNT
I
LEI
THER RETRACE ACT I
VE
GET
THE
CHARACTER SAVE
IN
(BP)
PUT
THE
CHARACTER I NTO REGEN
BUFFER
BUMP
POINTER
PAST
ATTRIBUTE
AS MANY
TIMES
AS REQUESTED
(
AH)
= CURRENT CRT
MODE
(BH)
=
01
SPLAY
PAGE
(CX)
= COUNT OF CHARACTERS TO
WR
I
TE
(AL)
= CHAR TO
WRITE
(OS)
=
DATA
SEGMENT
(ES)
= REGEN SEGMENT
OUTPUT
01
SPLA
Y REGEN
BUFFER
UPDATED
WR
I
TE
C CURRENT
-TH
I S ROUT I NE
WR
I
TES
THE
CHARACTER AT
THE
CURRENT
CUR
SOR
PO
SIT
I
ON
, A
TTR
I
BUTE
UNCHANGED
INPUT
(
AH
) = CURRENT CRT
MODE
(BH)
=
DISPLAY
PAGE
(CX)
= COUNT OF CHARACTERS TO
WR
I
TE
(AL)
= CHAR TO
WRITE
(BLl
=
ATTR
I
BUTE
OF CHAR TO
WR
I
TE
(OS)
=
DATA
SEGMENT
(ES)
= REGEN SEGMENT
OUTPUT
01
SPLA
Y REGEN
BUFFER
UPDATED
WR
I
TE
C CURRENT PROC NEAR
-
-CMP
AH,4
JC
P40
CMP
AH,7
JE
P40
JMP
GRAPH I CS_WR I
TE
P40:
P31
:
LOOP FOR EACH
ATTR
I CHAR
WR
I
TE
XCHG
BP,AX
PLACE
ATTR
I CHAR BACK
IN
SAVE
REGISTER
P32:
WA
I T FOR HORZ RETRACE
LOW
OR
VERT
I
CAL
STI
ENABLE
INTERRUPTS
FIRST
NOP
ALLOW FOR
INTERRUPT
WINDOW
CLI
BLOCK I
NTERRUPTS
FOR
SINGLE
LOOP
IN
AL,DX
GET
STATUS
FROM
THE
ADAPTER
TEST
AL,RVRT
CHECK FOR
VERT
I
CAL
RETRACE
FIRST
JNZ
P34
DO
FAST
WR
I
TE
NOW
I F VERT I
CAL
RETRACE
TEST
AL,RHRZ
I S
HOR
I ZONT
AL
RETRACE
LOW
THEN
JNZ
P32
WAIT
UNTIL
IT
IS
P33:
WA
I T FOR
EITHER
RETRACE
HIGH
IN
AL,DX
GET
STATUS
AGAIN
TEST
AL,RVRT+RHRZ
IS
HOR I
ZONTAL
OR
VERT
I
CAL
RETRACE
HIGH
JZ
P33
WAIT
UNTIL
EITHER
I S
ACTIVE
P34:
XCHG
AX,BP
GET
THE
ATTRICHAR
SAVED
IN
(BP)
STOSW
WR
I
TE
THE
ATTR
IBUTE
AND CHARACTER
LOOP
P31
AS
MANY
TIMES
AS REQUESTED -
TILL
CX=O
P35:
JMP
V
IDEO_RETURN
EXIT
WR
I
TE_AC_CURRENT
ENDP
WR
I
TE
AC
CURRENT PROC NEAR
-
CMP
AH,4
JC
P30
CMP
AH,7
JE
P30
JMP GRAPH I CS_WR
ITE
P30:
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
035C
918
035C
80
FC
04
919
035F
72
08
920
0361
80
FC
07
921
0364
74
03
922
0366
E9
058A
R
923
0369
924
0369
E8
0328
R
925
926
036C
OA
DB
927
036E
74
06
928
929
0370
95
930
0371
F31
AB
931
0373
EB
16
932
933
934
935
0375
936
0375
95
937
0376
938
0376
FB
939
0377
90
940
0378
FA
941
0379
EC
942
037A
A8
08
943
037C
75
09
944
037E
A8
01
945
0380
75
F4
946
0382
947
0382
EC
948
0383
A8
09
949
0385
74
FB
950
0387
951
0387
95
952
0388
AB
953
0389
E2
EA
954
038B
955
038B
E9
0130
R
956
957
038E
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
038E
975
038E
80
FC
04
976
0391
72
08
977
0393
80
FC
07
978
0396
74
03
979
0398
E9
058A
R
980
039B
981
039B
E8
0328
R
982
983
984
985
986
039E
987
039E
FB
988
039F
OA
DB
989
03A
1
75
OF
990
03A3
FA
991
03A4
EC
992
03A5
A8
08
993
03A
7
75
09
994
03A9
A8
01
995
03AB
75
F 1
996
03AD
997
03AD
EC
998
03AE
A8
09
999
03BO
74
FB
1000
03B2
1001
03B2
8B
C5
1002
03B4
AA
1003
03B5
47
1004
03B6
E2 E6
1005
1006
03B8
E9
0130
R
1007
1008
03BB
5-70
VIDEO
(01/10/86)

Table of Contents

Related product manuals