IBM XT 5160 Technical Reference page 301

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

LOC OBJECT
LI NE
SOURCE (B I OS FOR THE I BM PERSONAL COMPUTER XT)
1 1
108/82
AX = ROW, COLUMN POS I T I ON
OUTPUT
AX = OFFSET OF CHAR POS I T I ON I N REGEN BUFFER
POSITION
THIS SERVICE ROUTINE CALCULATES THE REGEN
BUFFER ADDRESS OF A CHARACTER I N THE ALPHA MODE
.
---------- ----------
---
---------
-
- --------
----------
- -
--
SCROLL UP
;
TH I S ROUT I NE MOVES A BLOCK OF CHARACTERS UP
ON THE SCREEN
SAVE REG I STER
ADD I N COLUMN VALUE
• 2 FOR ATTR I BUTE BYTES
SAVE LI NE COUNT IN BL
TEST FOR GRAPHICS MODE
HANDLE SEPARATELY
TEST FOR BW CARD
ROWS TO AL
DETERM I NE BYTES TO ROW
POINT TO NEXT LINE IN BLOCK
COUNT OF LINES TO MOVE
ROW LOOP
CLEAR ENTRY
RECOVER ATTR I BUTE IN AH
FILL WITH BLANKS
CLEAR LOOP
CLEAR-THE ROW
PO I NT TO NEXT LI NE
COUNTER OF LINES TO SCROLL
CLEAR LOOP
SCROLL_END
I S TH I S THE BLACK AND WH I TE CARD
I F SO,
SK I P THE MODE RESET
GET THE VALUE OF THE MODE SET
ALWAYS SET COLOR CARD PORT
V IDEO_RET_HERE
BLANK FIELD
GET ROW COUNT
GO CLEAR THAT AREA
UP CONTINUE
SAVE FILL ATTRIBUTE IN BH
UPPER LEFT POS I T I ON
DO SETUP FOR SCROLL
BLANK FIELD
FROM ADDRESS
# ROWS
I N BLOCK
# ROWS TO BE MOVED
ROW LOOP
MOVE ONE ROW
TEST FOR SPEC I AL CASE HERE
HAVE TO HANDLE 80X25 SEPARATELY
CONVERT TO REGEN PO INTER
OFFSET OF ACT I VE PAGE
TO ADDRESS FOR SCROLL
FROM ADDRESS FOR SCROLL
OX = # ROWS, #COLS I N BLOCK
I NCREMENT FOR 0 OR I GIN
SET HIGH BYTE OF COUNT TO ZERO
GET NUMBER OF COLUMNS
IN 0 I SPLA Y
TIMES 2 FOR ATTRIBUTE BYTE
GET LINE COUNT
DETERM I NE OFFSET TO FROM ADDRESS
• 2 FOR ATTR I BUTE BYTE
EST ABL I SH ADORES SING TO REGEN BUFFER
; GUARANTEED TO BE COLOR CARD HERE
WAIT DISP ENABLE
GET PORT -
WA I T FOR VERT I CAL RETRACE
WA I T
_0
I SP_ENABLE
DX=3D8
TURN OFF V IDEO
OUR I NG VERT I CAL RETRACE
ENDP
OX
DX,3DAH
AX
AL,DX
AL,8
N8
AL,25H
DL,OD8H
DX,AL
AX
OX
POSITION
AX,CRT START
DI,AX -
SI,AX
DX,CX
DH
DL
CH,CH
BP,CRT COLS
BP,BP -
AL,BL
BYTE PTR CRT COLS
AX ,AX
-
ES
PUSH
MOV
PUSH
IN
TEST
JZ
MOV
MOV
OUT
POP
POP
CALL
ADD
MOV
MOV
SUB
INC
INC
XOR
MOV
ADD
MOV
MUL
ADD
PUSH
INPUT
INPUT
( 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
; ----- HANDLE COMMON SCROLL SET UP HERE
; ----- 80X25 COLOR CARD SCROLL
SCROLL POS I T I ON PROC
NEAR
-
CMP
CRT MODE, 2
JB
N9 -
CMP
CRT MODE, 3
JA
N9 -
.
--
------------
-----
- - ---
------ --
-- --
-
-------- -------- - --
POS I T I ON
PROC
NEAR
PUSH
BX
MOV
BX,AX
MOV
AL,AH
MUL
BYTE PTR CRT COLS
XOR
BH,BH
-
ADD
AX ,BX
SAL
AX,I
POP
BX
RET
POSITION
ASSUME
CS: CODE,DS :DATA, ES :DATA
SCROLL_UP
PROC
NEAR
MOV
BL,AL
CMP
AH,4
JC
Nl
CMP
AH,7
JE
Nl
JMP
GRAPH I CS_UP
Nl :
PUSH
BX
MOV
AX,CX
CALL
SCROLL_POS I T I ON
JZ
N7
ADD
SI,AX
MOV
AH,DH
SUB
AH,BL
N2:
CALL
Nl0
ADD
SI,BP
ADD
DI,BP
DEC
AH
JNZ
N2
N3:
POP
AX
MOV
AL,
N4:
CALL
NIl
ADD
DI,BP
DEC
BL
JNZ
N4
N5:
CALL
DDS
CMP
CRT_MODE,7
JE
N6
MOV
AL,CRT_MODE_SET
MOV
DX,03D8H
OUT
DX,AL
N6:
JMP
V IDEO_RETURN
N7:
MOV
BL,DH
JMP
N3
SCROLL_UP
ENDP
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
N8:
3841
3842
3843
3844
3845
3846
3847
3848
3849
N9:
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
F285
F285 53
F286 8BD8
F288 8AC4
F28A F6264AOO
F28E 32FF
F290 03C3
F292 OlEO
F294 5B
F295 C3
F296
F296 8AD8
F298 80FC04
F29B 7208
F29D 80FC07
F2AO 7403
F2A2 E9FOOI
F2A5
F2A5 53
F2A6 8BCI
F2A8 E83700
F2AB 7431
F2AD 03FO
F2AF 8AE6
F2Bl 2AE3
F2B3
F2B3 E87200
F2B6 03F5
F2B8 03FD
F2BA FECC
F2BC 75F5
F2BE
F2BE 58
F2BF B020
F2Cl
F2Cl E86DOO
F2C4 03FD
F2C6 FECB
F2C8 75F7
F2CA
F2CA E88C07
F2CD 803E490007
F2D2 7407
F2D4 A06500
F2D7 BAD803
F2DA EE
F2DB
F2DB E9E7FE
F2DE
F2DE 8ADE
F2EO EBDC
F2E2
F2E2 803E490002
F2E7 7218
F2E9 803E490003
F2EE 7711
F2FO 52
F2Fl BADA03
F2F4 50
F2F5
F2F5 EC
F2F6 A808
F2F8 74FB
F2FA B025
F2FC B2D8
F2FE EE
F2FF 58
F300 5A
F301
F301 E881FF
F304 03064EOO
F308 8BF8
F30A 8BFO
F30C 2BDI
F30E FEC6
F310 FEC2
F312 32ED
F314 8B2E4AOO
F318 03ED
F31 A 8AC3
F31 C F6264AOO
F320 03CO
F322 06
5-154
PC-XT System BIOS (11/08/82)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents