free hit counter

IBM XT 5160 Technical Reference page 224

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

521
ENDP
OX NOW HAS THE CURRENT CURSOR POS I T I ON
.
-
---
-
---
-
----
-
- -
---
---
-
----------
-
-
-
--
-
--
-
-
-------
; MED READ BYTE
; TH I
5
ROUT I NE WILL TAKE 2 BYTES FROM THE REGEN BUFFER,
;
COMPARE AGA I NST THE CURRENT FOREGROUND COLOR, AND PLACE
;
THE CORRE SPOND I NG ON / OFF BIT PATTERN I NTO THE CURRENT
;
POSITION IN THE SAVE AREA
; ENTRY --
;
5 I ,OS = PO I NTER TO REGEN AREA OF INTEREST
;
BX = EXPANDED FOREGROUND COLOR
;
BP = PO I NTER TO SAVE AREA
; EXIT --
;
5 I AND BP ARE INCREMENTED
5-77
I SIT CARR I AGE RETURN OR CONTROL
GO TO CONTROL CHECK S I FIT I S
SAVE REGISTER
SAVE A COPY OF CURRENT CURSOR
GET BYTES PER COLUMN
MULTIPLY BY ROWS
WR I TE CHARACTER ONLY COMMAND
ONL Y ONE CHARACTER
WR I TE THE CHARACTER
MULTIPLY •
4
SINCE
4
ROWS/BYTE
I SOLA TE COLUMN VALUE
DETERM I NE OFFSET
RECOVER PO INTER
ALL DONE
I GET CURRENT CURSOR
I
SAVE (AX) REGISTER IN (01) FOR EXIT
I
READ CURSOR POS I T I ON
I GET CURRENT PAGE SETT I NG
I
READ THE CURRENT CURSOR POS I T I ON
I RECOVER CHARACTER FROM (0 I) REG I STER
I GET FIRST BYTE AND SECOND BYTES
I
SWAP FOR COMPARE
I
2 BIT MASK TO TEST THE ENTRIES
I RESULT REG I STER
15TH IS SECT I ON BACKGROUND?
IF ZERO,
IT IS BACKGROUND (CARRY=O)
WASN'T, SO SET CARRY
I MOVE THAT BI T I NTO THE RESULT
MOVE THE MASK TO THE RIGHT BY 2 BI TS
DO IT AGAIN IF MASK DIDN'T FALL OUT
I STORE RESULT IN SAVE AREA
I ADJUST PO INTER
I ALL DONE
I TEST FOR COLUMN OVERFLOW
I
SET CURSOR
I COLUMN FOR CURSOR
I
CHECK FOR LAST ROW
I
SET_CURSOR_INC
I
SET THE CURSOR
1-16
01-10-86
VIDEO (01/10/86)
AX,CX
525
AH,02H
10H
AH,OAH
CX,I
10H
DS:DATA
PROC
NEAR
DI,AX
AH,03H
BH, .ACT I VE PAGE
10H
-
AX,DI
AL,AH
CX,OCOOOH
DL,O
DL,I
CX,I
CX,I
524
lBP] ,DL
BP
AL,CR
U8
DL
DL ,BYTE PTR .CRT COLS
U7
-
DL,O
DH,25-1
U6
TEST
JZ
STC
WR I TE THE CHAR TO THE SCREEN
POS I T I ON THE CURSOR FOR NEXT CHAR
CMP
JBE
DETERM I NE VALUE TO FILL WITH OUR I NG SCROLL
RCL
SHR
SHR
JNC
MOV
INC
RET
ENDP
INC
CMP
JNZ
MOV
CMP
JNZ
MOV
INT
MOV
MOV
INT
523
525:
524:
~~~---
.
-------
-- ---
--- ---
---
---- --- -- -------
----
---- -
--
----
523
PROC
NEAR
LODSW
XCHG
MOV
MOV
ASSUME
WRITE TTY
-
XCHG
MOV
MOV
INT
MOV
; -----
SCROLL REQU I RED
Ul :
V4 POSITION
THIS ROUTINE TAKES THE CURSOR POSITION CONTAINED IN
THE MEMORY LOCATION, AND CONVERTS IT INTO AN OFFSET
INTO THE REGEN BUFFER, ASSUMING ONE BYTE/CHAR.
FOR MED I UM RESOLUT I ON GRAPH I CS, THE NUMBER MUST
BE DOUBLED.
ENTRY - - NO REG I STERS, MEMORY LOCATION .CURSOR POSN I S USED
EXIT--
.
-
AX CONTA I NS OFFSET I NTO REGEN BUFFER
1- - ---- - - -- --- - - - - - - - - ---- - - - -- - ---- -- -- --
526
PROC
NEAR
MOV
AX, .CURSOR POSN
GRAPH POSN
LABEL
NEAR
-
PUSH
BX
MOV
BX,AX
MOV
AL, BYTE PTR .CRT COLS
MUL
AH
-
SHL
AX,I
SHL
AX,I
SUB
BH,BH
ADD
AX,BX
POP
BX
RET
526
ENDP
-- WR I TE TTY --------------------------------------------------------------- __
-
I
TH I 5 I NTERFACE PROV I DES A TELETYPE LIKE I NTERFACE TO THE
I
V IDEO CARDS.
THE I NPUT CHARACTER I S WR I TTEN TO THE CURRENT
I
CURSOR POS I T I ON, AND THE CURSOR I S MOVED TO THE NEXT POS I T I ON.
I
IF THE CURSOR LEAVES THE LAST COLUMN OF THE FIELD, THE COLUMN
I
I S SET TO ZERO, AND THE ROW VALUE I S INCREMENTED.
I F THE ROW
I
ROW VALUE LEAVES THE FIELD, THE CURSOR IS PLACED ON THE LAST ROW,
I
FIRST COLUMN, AND THE ENT I RE SCREEN I S SCROLLED UP ONE LINE.
I
WHEN THE SCREEN I S SCROLLED UP, THE ATTR IBUTE FOR FILL I NG THE
I
NEWL Y BLANKED LINE I S READ FROM THE CURSOR POS I T I ON ON THE PREV 10US
I
LINE BEFORE THE SCROLL,
I N CHARACTER MODE.
I N GRAPH I CS MODE,
I
THE 0 COLOR I S USED.
I
ENTRY --
I
( AH)
= CURRENT CRT MODE
I
( AL ) = CHARACTER TO BE WR I TTEN
I
NOTE THAT BACK SPACE, CARRIAGE RETURN, BELL AND LINE FEED ARE
I
HANDLED AS COMMANDS RATHER THAN AS DISPLAY GRAPHICS CHARACTERS
I
(BL)
= FOREGROUND COLOR FOR CHAR WR I TE IF CURRENTLY I N A GRAPH I CS MODE
I
EXIT --
I
;
------~::_~:~~:~:~:_:~~:~-~~~~~~~-~~~:~=:~~~-~~~::~~~~~-~~~::_---------------_:
1673 06CF
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687 06CF
1688 06CF AD
1689 0600 86 C4
1690 0602 B9 COOO
1691 0605 B2 00
1692 0607
1693 0607 85 C 1
1694 0609 74 01
1695 06DB F9
1696 06DC
1697 06DC DO 02
1698 06DE 01 E9
1699 06EO 01 E9
1700 06E2 73 F3
170
I
06E4 88 56 00
1702 06E7 45
1703 06E8 C3
1704 06E9
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716 06E9
1717 06E9 A
I
0050 R
1718 06EC
1719 06EC 53
1720 06ED 8B 08
1721 06EF AO 004A R
1722 06F2 F6 E4
1723 06F4 01 EO
1724 06F6 01 EO
1725 06F8 2A FF
1726 06FA 03 C3
1727 06FC 5B
1728 06FD C3
1729 06FE
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753 06FE
1754 06FE 97
1755 06FF B4 03
1756 070
I
8A 3E 0062 R
1757 0705 CD 10
1758 0707 8B C7
1759
1760
1761
1762 0709 3C 00
1763 070B 76 46
1764
1765
1766 0700
1767 0700 B4 OA
1768 070F B9 0001
1769 0712 CD 10
1770
1771
1772
1773 0714 FE C2
1774 0716 3A 16 004A R
1775 071A 75 33
1776 071C B2 00
1777 071E 80 FE 18
1778 0721
75 2A
1779
1780
1781 0723
1782 0723 B4 02'
1783 0725 CD 10
1784
1785
1786
IBM Persona I Computer MACRO Assemb I er
Vers
i
on 2.00
VIDEO ---- 01/10/86
VIDEO DISPLAY BIOS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents