IBM AT 5170 Technical Reference page 320

Table of Contents

Advertisement

IBM Person. I COlllpl,lter MACRO Assembler
Version 2.00
1-0
VIDEOI
--- 06/10/85
VIDEO DISPLAY 810S
Ob-10-85
571
01 F7
VIDEO_STATE
ENDP
572
.
---- -- --------- -- -
---
-------------- - --­
573
; POSITION
57.
;
THI S SERVICE ROUTINE CALCULATES THE REGEN BUFFER ADDRESS
575
;
OF A CHARACTER
IN THE ALPHA MODE
570
;
INPUT
577
;
AX
=
ROW, COLUMN POSITION
57.
I OUTPUT
57.
;
AX .. OFFSET OF CHAR POSITION IN RECiEN BUFFER
5.0
~~~~;~~~--------;~~~-
-
-
-~~~~-
----------­
581
0lF7
582
0lF7 53
PUSH
BX
;
SAVE REG I STER
583
0
I
F8 88
08
MOV
BX,AX
584
OIFA 8A C4
MOV
AL. AH
ROWS TO AL
565
0 I FC F6 26 004A R
MUL
BYTE PTR .CRT COLS
DETERMINE BYTES TO ROW
566
0200 32 FF
XOR
BH.BH
­
5B 7
0202 03 C3
ADD
AX,BX
ADD IN COLUMN VALUE
5BB
0204
0 I EO
SAL
AX,l
2 FOR ATTRIBUTE BYTES
589
0206 58
POP
BX
590
0207 C3
RET
591
0206
POSITION
ENDP
5.2
;
---­
5.3
SCROLL UP
5 ••
;
THIS ROUTINE MOVES A BLOCK OF CHARACTERS UP
5.5
;
ON THE SCREEN
5.0
;
INPUT
5.7
;
(AHI
=
CURRENT CRT MODE
5 ••
;
IAL) .. NUMBER OF ROWS TO SCROLL
599
;
ICX)
.. ROW/COLUMN OF UP!;'ER LEFT CORNER
000
;
lOX)
" ROW/COLUMN OF LOWER RIGHT CORNER
00 I
;
IBH)
:: ATTRIBUTE TO BE USED ON BLANKED LINE
002
;
!OS)
:: OAT A SEGMENT
003
;
(ESI
:: REGEN BUFFER SEGMENT
00.
; OUTPUT
005
;
NONE - - THE REGEN BUFFER
I S MOD I F I ED
000
007
ASSUME
OS: DATA. ES: DATA
608
0208
SCROLL~UP
PROC
NEAR
009
610
0206 E8 02E4 R
CALL
TEST_LINE_COUNT
611
0208 80 FC 04
CMP
AH,4
TEST FOR GRAPHICS MODE
612
020E 72 08
OC
NI
HANDLE SEPARATELY
613
0210 80 Fe 07
CMP
AH,l
TES T FOR BW CARD
614
0213 74 03
oE
NI
615
0215 E9 04A3 R
oMP
GRAPHICS_UP
616
0218
Nl :
UP CONT I NUE
617
0218 53
PUSH
BX
SAVE F,ILL ATTRIBUTE
IN BH
618
0219 8B
CI
MOV
AX,CX
UPPER LEFT
pas
I T I ON
619
021B EB 0255 R
CALL
SCROLL_pas IT ION
DO SETUP FOR SCROLL
620
021E 14 31
JZ
N7
BLANK FIELD
621
0220 03 FO
ADD
SI,AX
FROM ADDRESS
622
0222 8A E6
MOV
AH,DH
,
ROWS I N BLOCK
623
0224 2A E3
SUB
AH,BL
,
ROWS TO BE MOVED
624
0226
,
N2:
ROW LOOP
625
0226 E8 0291 R
CALL
NIO
MOVE ONE ROW
626
0229 03 F5
ADD
SI,BP
627
0228 03 FD
ADD
DI,BP
POINT TO NEXT LINE IN BLOCK
&28
0220 FE ee
DEC
AH
COUNT OF LI NES TO MOVE
&29
022F 75 F5
JNZ
N2
ROW LOOP
630
0231
N3:
CLEAR ENTRY
631
0231
5B
POP
AX
RECOVER ATTR I BUTE
IN AH
632
0232 80 20
MDV
AL, •
FILL WITH BLANKS
633
0234
til4:
CLEAR LOOP
634
0234 EB 02AO R
CALL
Nil
CLEAR-THE ROW
635
0237 03 FD
ADD
DI.BP
POINT TO NEXT LINE
63&
0239 FE CB
DEC
BL
COUNTER OF LI NES TO SCROLL
&37
0238 15 F1
JNZ
N.
CLEAR LOOP
636
0230
N5:
SCROLL_END
639
0230 E8 0000 E
CALL
ODS
&40
0240 80 3E 0049 R 07
eMP
.CRT_MODE. 7
IS THIS THE BLACK AND WHITE CARD
641
0245 74 01
JE
NO
IF SO.
S-KIP THE MODE RESET
&42
0241 AO 0065 R
MOV
AL.IlICRT_MOOE SE7
GET THE VALUE OF THE MODE SET
&43
024A BA 0308
MOV
DX.03D6H
ALWAYS SET COLOR CARD PORT
644
0240
EE
OU7
DX,AL
645
024E
N6:
V IDEO_RET_HERE
646
024E E9 01 2E R
JMP
v
IDEO_RETURN
647
0251
N7:
BLANK FI ELD
648
0251
8A DE
MOV
BL,OH
GET ROW COUNT
&49
0253 EB DC
JMP
N3
GO CLEAR THAT AREA
650
0255
SCROLL_UP
ENDP
051
052
HANDLE COMMON SCROLL SET UP HERE
053
654
0255
SCROLL POSITION PRDC
NEAR
&55
0255 E8 0 I F1 R
-
CALL
POSITION
CONVERT TO REGEN PO INTER
&56
0258 03 06 004E R
ADD
AX,tlCRT START
OFFSET OF ACT I VE PAGE
657
025C 8B F8
MOV
OI,AX-
TO ADDRESS FOR SCROLL
058
025E 8B FO
NOV
51 ,AX
FROM ADDRESS FOR SCROLL
&59
0260 2B 01
SUB
DX,CX
OX
=
'ROWS.
'COLS
I N BLOCK
&&0
0262 FE C6
INC
OH
661
0264 FE C2
INC
DL
INCREMENT FOR 0 ORIGIN
662
0266 32 ED
XDR
CH,CH
SET HIGH BYTE OF COUNT TO ZERO
663
026B 86 2E 004A R
MOV
BP,0CRT COLS
GET NUMBER OF COLUMNS
IN D I SPLA Y
664
026C 03 ED
ADD
BP,BP-
TIMES 2 FOR ATTRIBUTE BYTE
065
02&E 8A C3
MOV
AL,BL
GET LINE COUNT
666
0270 F6 26 004A R
MUL
BYTE PTR tlCRT COLS
DETERMINE OFFSET TO FROM ADDRESS
667
0274 03 CO
ADD
AX ,AX
-
-2 FOR ATTRIBUTE BYTE
668
0276 50
PUSH
AX
SAVE LINE COUNT
669
0277 AO 0049 R
MOV
AL,tlCRT MODE
GET CURRENT MODE
670
027A 06
PUSH
ES
-
ESTABLISH ADDRESSING TO REGEN BUFFER
671
0278 IF
POP
OS
FOR 80TH PO INTERS
672
027C 3C 02
CNP
AL.2
TEST FOR COLOR CARD SPEC I AL CASES HERE
&73
027E 12 13
.JB
N9
HAVE TO HANDLE eoX25 SEPARATELY
674
0280 3C
03
CNP
AL.3
&75
0282 11 OF
JA
N9
070
I 80X25 COLOR CARD SCROLL
&77
0284 52
PUSH
ox
678
0285 BA 03DA
MOV
DX.3DAH
GUARANTEED TO BE COLOR CARD HERE
079
0288
NB:
WAIT DISP ENABLE
680
0288 EC
IN
AL.DX
GET PORT ­
6BI
0289 A8 08
TEST
AL, RVRT
WAIT FOR VERTICAL RETRACE
682
0288 74 FB
OZ
NO
WA 1 T _0 I SP_ENABLE
683
028D 80 25
MOV
AL .25H
664
02BF 82 D8
MOV
DL.ODBH
ADDRESS CONTROL PORT
5-148
VIDEO1

Advertisement

Table of Contents
loading

Table of Contents