IBM XT 5160 Technical Reference page 214

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

.
- - -
-
-
---
----- --
----
------------ -
---- -
-
-----
ASSUME
DS:DATA,ES:DATA
020F
SCROLL_UP
PROC
NEAR
020F E8 02EA R
CALL
TEST_L I NE_COUNT
0212 80 FC 04
CMP
AH,4
TEST FOR GRAPH I CS MODE
0215 12 08
..JC
NI
HANDLE SEPARATELY
0211 80 FC 01
CMP
AH,1
TEST FOR BW CARD
021A 14 03
..JE
NI
02 I C E9 04AC R
..JMP
GRAPH I CS_UP
021F
NI:
UP CONTINUE
021 F 53
PUSH
BX
SAVE FILL ATTRIBUTE IN BH
0220 8B CI
MOV
AX,CX
UPPER LEFT POS I T I ON
0222 E8 025C R
CALL
SCROLL_POS I T I ON
DO SETUP FOR SCROLL
0225 14 31
..JZ
N1
BLANK FIELD
0221 03 FO
ADD
SI,AX
FROM ADDRESS
0229 8A E6
MOV
AH,DH
,
ROWS IN BLOCK
022B 2A E3
SUB
AH,BL
,
ROWS TO BE MOVED
0220
N2:
ROW LOOP
0220 E8 0290 R
CALL
Nl0
MOVE ONE ROW
0230 03 F5
ADD
SI,BP
0232 03 FD
ADD
DI,BP
POINT TO NEXT LINE IN BLOCK
0234 FE CC
DEC
AH
COUNT OF LINES TO MOVE
0236 15 F5
..JNZ
N2
ROW LOOP
0238
N3:
CLEAR ENTRY
0238 58
POP
AX
; RECOVER ATTR I BUTE IN AH
0239 BO 20
MOV
AL,
FILL WITH BLANKS
023B
N4:
CLEAR LOOP
023B E8 02A6 R
CALL
NIl
CLEAR-THE ROW
023E 03 FD
ADD
DI,BP
PO I NT TO NEXT LI NE
0240 FE CB
DEC
BL
COUNTER OF LINES TO SCROLL
0242 15 F1
..JNZ
N4
CLEAR LOOP
0244
N5:
SCROLL_END
0244 E8 0000 E
CALL
DDS
0241 80 3E 0049 R 01
CMP
tlCRT_MODE, 1
I S TH I S THE BLACK AND WH I TE CARD
024C 14 01
..JE
N6
IF SO, SK I P THE MODE RESET
024E AO 0065 R
MOV
AL, (IlCRT_MODE_SET
GET THE VALUE OF THE MODE SET
0251
BA 0308
MOV
DX,03D8H
ALWAYS SET COLOR CARD PORT
0254 EE
OUT
DX,AL
0255
N6:
V IDEO_RET_HERE
0255 E9 0130 R
..JMP
V IDEO_RETURN
0258
N1:
BLANK FIELD
0258 8A DE
MOV
BL,DH
GET RDW COUNT
025A EB DC
..JMP
N3
GO CLEAR THAT AREA
025C
SCROLL_UP
ENDP
.
---------
- - - - - - - - - - -
--
--
--
-----
--- --
------
;
SCROLL UP
TH I S ROUT I NE MOVES A BLOCK OF CHARACTERS UP
ON THE SCREEN
INPUT
;
V IDEO STATE
;
RETURNS THE CURRENT V IDEO STATE I N AX
;
AH
=
NUMBER OF COLUMNS ON THE SCREEN
;
AL
=
CURRENT V IDEO MODE
;
BH
=
CURRENT ACT I VE PAGE
~ ~ ~~~-~;~;~
-
-
-- -
~~~~
--
--
~~~~
---
---
---- ------
---
---
-
MOV
AH, BYTE PTR tlCRT COLS
GET NUMBER OF COLUMNS
MOV
AL ,tlCRT MODE
-
CURRENT MODE
MOV
BH, tlACTTvE PAGE
GET CURRENT ACT I VE PAGE
POP
BP
-
RECOVER REG I STERS
POP
01
POP
SI
POP
CX
0 I SCARD SAVED BX
..JMP
M15
RETURN TO CALLER
V IDEO_STATE
ENDP
5-67
ADD I N COLUMN VALUE
2 FOR ATTR I BUTE BYTES
TURN OFF PALETTE SELECT BIT
TEST THE LOW ORDER BIT OF BL
ALREADY DONE
TURN ON PALETTE SELECT BIT
GO DO IT
TURN OFF LOW 5 BITS OF CURRENT
TURN OFF HIGH 3 BITS OF INPUT VALUE
PUT VALUE I NTO REG I STER
OUTPUT THE PALETTE
OUTPUT COLOR SELECT I ON TO 309 PORT
SAVE THE COLOR VALUE
1-6
01-10-86
AL,OEOH
BL,O IFH
AL,BL
DX,AL
tlCRT PALETTE, AL
V I OED_RETURN
AL,ODFH
BL,I
M19
AL,20H
MI9
ENDP
HANDLE COLOR I BY SELECT I NG THE PALETTE TO BE USED
AND
AND
OR
OUT
MOV
..JMP
VIDEO (01/10/86)
( AH)
=
CURRENT CRT MODE
( AL )
=
NUMBER OF ROWS TO SCROLL
( CX )
=
ROW
1
COLUMN OF UPPER LEFT CORNER
(OX)
=
ROW
1
COLUMN OF LOWER RIGHT CORNER
(BH)
=
ATTR I BUTE TO BE USED ON BLANKED LINE
(OS)
=
DATA SEGMENT
(ES)
=
REGEN BUFFER SEGMENT
OUTPUT
NONE - -
THE REGEN BUFFER I S MOD I F I ED
;
---
- - - - -- - - - -
-
-
---
---
--
-- ---
---
---
-
-----
POSITION
TH IS SERV I CE ROUT I NE CALCULATES THE REGEN BUFFER ADDRESS
OF A CHARACTER I N THE ALPHA MODE
INPUT
AX
=
ROW, COLUMN POS I T I ON
; OUTPUT
AX
=
OFFSET OF CHAR POS I T I ON I N REGEN BUFFER
~~~ ~; ~ ~~
- - -
-
-
--
-
~~~~
----
~~~~
-----------
--
PUSH
BX
SAVE REG I STER
XCHG
BX,AX
SAVE ROWICOLUNM POSITION IN (BX)
MOV
AL, BYTE PTR tlCRT COLS
GET COLUMNS PER ROW COUNT
MUL
BH
-
DETERM I NE BYTES TO ROW
XOR
BH,BH
ADD
AX,BX
SAL
AX,l
POP
BX
RET
PO SIT I ON
ENDP
AND
SHR
..JNC
OR
..JMP
SET_COLOR
M20:
M19:
IBM Personal Computer MACRO Assembler
Version 2.00
VIDEO ----
01/10/86
VIDEO DISPLAY BIOS
511
512
0106 24 EO
513
0108 80 E3
IF
514
0 1DB 0 A C3
515
0100
516
0100 EE
511
01DE A2 0066 R
518
OIEl
E9 0130 R
519
580
581
582
01 E4
583
01 E4 24 OF
584
0 I E6 DO EB
585
0 I E8 13 F3
586
0 I EA OC 20
581
OIEC EB EF
588
01 EE
589
590
591
592
593
594
595
596
0 I EE
591
01EE 8A 26 004A R
598
01 F2 AO 0049 R
599
01 F5 8A 3E 0062 R
600
01F9 50
601
OIFA 5F
602
01FB 5E
603
0 I FC 59
604
0 I FD E9 0141 R
605
0200
606
601
608
609
610
611
612
613
614
615
0200
616
0200 53
611
0201
93
618
0202 AO 004A R
619
0205 F6 E1
620
0201 32 FF
621
0209 03 C3
622
020B OlEO
623
0200 5B
624
020E C3
625
020F
626
621
628
629
630
631
632
633
634
635
636
631
638
639
640
641
642
643
644
645
646
641
648
649
650
651
652
653
654
655
656
651
658
659
660
661
662
663
664
665
666
661
668
669
610
611
612
613
614
615
616
611
618
619
680
681
682
683
684

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents