IBM AT 5170 Technical Reference page 322

Table of Contents

Advertisement

IBM Pe ... sonal Comput.er MACRO Assemble...
VerSion 2.00
1-8
VIDEOI _.- 06/10/85
VIDEO DISPLAY BIOS
06-10·85
7.3
PAGE
7••
1--- ------ ------------------------------- - ------.--- ••• - - ------ -------------­
7.S
READ AC CURRENT
7 ••
-
THIS ROUTINE READS THE ATTRIBUTE AND CHARACTER AT THE CURRENT
787
CURSOR POS I T I ON AND RETURNS THEM TO THE CALLER
788
INPUT
789
{AH)
=
CURRENT CRT MODE
790
IBHl
=
01 SPLAY PAGE
( ALPHA MODES ONLY )
791
1051 :
DATA SEGMENT
79.
I
ES)
=
REGEN SEGMENT
793
OUTPUT
79.
{AL
I
=
CHARACTER READ
79S
IAHI
= ATTRIBUTE READ
79.
:
-
----
-
------
-
--
-
------
- - - - ---- - - -
--
-
-
---- - -
-------_.--­
797
ASSUME
OS;oATA,ES:DATA
79.
799
02F9
READ AC CURRENT PROC
NEAR
800
02F9 80 FC 04
-
-CMP
AH,4
,
IS THIS GRAPHICS
eo
1
02FC 72 08
JC
PIO
80'
803
02FE 80 FC
07
C"P
AH.7
I
[S THIS BW CARD
804
0301
14 03
JE
PIO
80S
806
0303 E9 062A R
J"P
GRAPHICS_READ
801
0306
PIO;
READ AC CaNT I NUE
13013
0306 E8 0322 R
CALL
FIND POSITION
GET REGEN LOCATION AND PORT ADDRESS
1309
0309 8B
F7
"OV
51
,aT
ESTABLISH ADDRESSING IN 51
810
0308 06
PUSH
ES
GET REGEN SEGMENT FOR QU I CK ACCESS
81 I
030C
1F
POP
as
812
8"
IAIT FOR HOR[ZONTAL RETRACE DR VERTICAL RETRACE
IF COLOR 80
814
815
0300 OA DB
OR
Bl,BL
CHECK MODE FLAG FOR COLOR CARD
IN 80
816
030F 75 00
JNZ
PI3
ELSE SKIP RETRACE WAIT -
00 FAST READ
811
031!
PII:
WAI T FOR HORZ RETRACE lOW OR VERTI CAL
818
0311
Fa
STI
ENABLE INTERRUPTS FIRST
819
031290
Nap
ALLOW FOR SMAll INTERRUPT WINDOW
820
0313 FA
eLI
BLOCK
I NTERRUPTS FOR SINGLE LOOP
821
0314 EC
IN
AL,DX
GET STATUS FROM THE ADAPTER
822
0315 A8 01
TEST
AL ,RHRZ
IS HOR I ZONT AL RETRACE LOW
623
0311 75 F8
JNZ
PI1
WAIT UNTIL IT IS
824
0319
P12;
NOW WAIT FOR EITHER RETRACE HIGH
825
0319 EC
IN
AL,DX
GET STATUS
826
031A A6 09
TEST
AL, RVRT+RHRZ
IS HOR (ZONTAL OR VERTICAL RETRACE HIGH
821
031C 74 F8
JZ
PI2
WAIT UNTIL EITHER
IS ACTIVE
828
031E
P13:
829
031E AD
LODSW
GET THE CHARACTER AND ATTR I BUTE
630
031 F E9 012E R
.JMP
V IDEO_RETURN
EXIT WITH
(AXI
831
632
0322
REAO_AC_CURRENT ENOP
833
834
835
0322
FINO POS I TlON
PROC
NEAR
SETUP FOR BUFFER READ OR WR I TE
636
0322 86 E3
-
XCHG
AH.8L
SWAP MODE TYPE WITH ATTRIBUTE
831
0324
88
E8
MOV
BP,AX
SAVE CHARACTER/ATTR
IN 18P) REGISTER
838
0326 80 E8 02
SUB
BL.2
CONVERT
0 I SPLA Y MODE TYPE TO A
839
0329 DO E8
SHR
BL,
I
ZERO VALUE FOR COLOR
IN
eo
COLUMN
840
0328 68 F3
"OV
SI.BX
AND SAVE 12 OR 3 --> ZERO)
841
0320 8A OF
BL.BH
MOVE DISPLAY PAGE TO LOW BYTE
"OV
842
032F 32 FF
XOR
BH.BH
CLEAR HIGH BYTE OF COUNT/BYTE OFFSET
843
0331 68 FB
"OV
01 • ax
MOVE 0 I SPLA Y PAGE
I
COUNT)
TO WORK REG
844
0333 01
E7
SAL
01,1
;
TIMES 2 FOR WORD OFFSET
845
0335 8B 85 0050 R
MOV
~~;[DI+OFFSET PCURSOR_PO~N~KIP a~F~~~ ~~~~~~~~~~ ~~ ~~~~ ~~~~
.
846
0339
14
09
.,
JZ
848
0338 33 FF
XOR
01,01
ELSE SET BUFFER START ADDRESS TO ZERO
849
0330
P20:
850
0330 03 3E 004C R
851
034!
4B
AOO
OEC
DI,PCRT LEN
8X
-
ADD lENGTH OF BUFFER FOR ONE PAGE
DECREMENT PAGE COUNT
852
0342 75 F9
JNZ
P20
LOOP TILL PAGE COUNT EXHAUSTED
853
0344
P21:
854
0344 E8 0lF7 R
CALL
POSITION
DETERMINE LOCATION IN REGEN
IN PAGE
855
0347 03 F8
ADO
OI.AX
ADO LOCATION TO START OF REGEN PAGE
856
0349 88 16 0063 R
MOV
OX, 'ltADDR 6845
GET 8A.SE ADDRESS OF ACTIVE DISPLAY
851
0340 83 C2 06
ADD
DX,6
-
POINT AT STATUS PORT
858
0350 8B DE
859
0352 C3
8.0
..
,
MOV
RET
BX,SI
RECOVER CONVERTED MODE TYPE IN (BLl
BP= ATTR IBUTE/CHARACTER
(FROM BLI
AU
01= POSITION
(OFFSET
IN REGEN BUFFER)
OX= STATUS PORT ADDRESS OF ADAPTER
862
0353
8L= MODE FLAG {ZERO FOR 80X25 COLOR)
5-150
VIDEO1

Advertisement

Table of Contents
loading

Table of Contents