EasyManua.ls Logo

IBM XT 5160 - Page 214

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...
.--------------------------------------
-----
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 A
TTR
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
V
ALUE
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
V
ALUE
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
1COLUMN OF UPPER
LEFT
CORNER
(OX)
=
ROW
1COLUMN 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

Table of Contents

Related product manuals