IBM AT 5170 Technical Reference page 332

Table of Contents

Advertisement

IBM Personal Computer MACRO Assembler
Ve ... s,on 2.00
1-18
VIDEOI
--- 0&/10/85
VIDEO DISPLAY 8105
06-10-85
18&5
AX HAS THE VALUE READ IN FROM THE 6845
1866
1861 01A4 8A
IE 0049
R
MOV
BL, ,,"CRT MODE
1868 01A8 2A FF
SUB
BH,BH
-
;
MODE VALUE TO BX
1869 01AA 2E:
8A 9F 0169 R
MOV
AMOUNT
SUBTRACT
BL,CS:VI [BX]
;
DETERMINE
TO
1810 01AF 28 C3
SUB
AX, BX
TAKE
IT AWAY
1611
0181
88
IE 004E R
MOV
BX, ,,"CRT START
1812 0185 01
E8
5HR
8X,1
­
1813 0787 28
C3
SUB
AX,eX
CONVERT TO CORRECT PAGE OR I GIN
1814 0189 19 02
"NS
V2
IF POSITIVE, DETERMINE MODE
1815 0188 28 CO
SUB
AX,AX
<0 PLAYS AS 0
1816
1811
DETERMINE MODE OF OPERATION
1818
1819 0180
'0'2:
OETERM
I
NE MODE
1880 0180 81
03
MOV
CL.3
SET -8 SHTFT COUNT
1881
018F 80 3E 0049 R 04
eMP
.CRT MODE ,4
DETERMINE IF GRAPHICS OR ALPHA
1882 01C4 12 29
"B
V4
-
ALPHA_PEN
1683 01C6 80 3E 0049 R 01
eMP
@CRT MODE.1
1884 01CB 14 22
V4
-
ALPHA_PEN
1885
"E
1886
1-----
GRAPHICS MODE
1667
1886 01CD 82 28
MOV
OL,40
DIVISOR FOR GRAPHICS
1889 01CF F6 F2
DIY
OL
DETERMINE ROW(AL)
AND COLUMNIAH)
1890
AL RANGE 0-99,
AH RANGE 0-39
1891
OETERM I NE GRAPH [C ROW POS I T I ON
1892
1893 0101
8A E8
MOV
CH,AL
SAVE ROW VALUE IN CH
1894 0103 02 ED
ADD
CH.CH
-2 FOR EVEN/ODD FIELD
1895 0105 8A DC
MDV
8L,AH
COLUMN VALUE TO BX
1896 0101 2A FF
SUB
SH,eH
MULTI PLY BY 8 FOR MED
I
UM RES
1891 0109 80 3E 0049 R 06
eMP
_CRT MODE ,6
DETERM I NE MED I UM OR H! GH RES
1898 010E 15 04
V3
­
"NE
NOT HIGH RES
1899 01EO Bl
04
MDV
CL,4
SHIFT VALUE FOR HIGH RES
1900 01E2 DO E4
SAL
AH, I
COLUMN VALUE TIMES 2 FOR HIGH RES
1901
01E4
NOT HIGH RES
1902 01E4 03 E3
BX ,CL
MULTIPLY--16 FOR HIGH RES
1903
1904
t -----
OETERM I NE ALPHA CHAR POS I T I ON
1905
1906 01E6 8A 04
MOV
OL,AH
COLUMN VALUE FOR RETURN
1901 07E8 8A FO
MOV
OH,AL
ROlfi' VALUE
1908 07EA CO EE 02
5HR
OH,2
o I V I DE 8Y 4 FOR VALUE
IN 0-24 RANGE
1909 01EO E8
12
J"P
SHORT '0'5
LIGHT _PEN_RETURN_SET
1910
1911
ALPHA MODE ON LI GHT PEN
1912
1913 01EF
V4:
ALPHA PEN
1914 01EF F6 36 004A R
DIY
BYTE PTR @CRT_COLS
DETERMINE ROW,COLUMN VALUE
1915 01F3 8A FO
NOV
DH,AL
ROWS TO OH
1916 01F5 8A 04
MOV
DL,AH
CeLS TO OL
1911 01F1 02 EO
SAL
AL,CL
MULTIPLY ROWS" 8
1918 01F9 8A E8
MOV
CH,AL
GET RASTER VALUE TO RETURN REG I STER
1919 01F8 8A DC
MOV
8L.AH
COLUMN VALUE
1920 07FO 32 FF
XOR
BH,BH
TO BX
1921
01FF 03 E3
SAL
8X ,eL
1922 0801
V5:
LIGHT PEN RETURN SET
19230801
84 01
NOV
AH,I
INDICATE EVERY THING SET
1924 0803
V6:
LIGHT PEN RETURN
1925 0803 52
PUSH
OX
SAVE RETURN VALUE
liN CASEI
1926 0804 88
16 0063 R
MOV
DX,@ADDR_6845
;
GET BASE ADDRESS
1921 0808 83 C2 01
ADO
OX,1
PO I NT TO RESET PARM
1928 0808 EE
OUT
DX,AL
ADDRESS,
NOT DATA,
IS
IMPORTANT
1929 060C SA
POP
OX
RECOVER VALUE
1930 0800
'0'1 ;
RETURN_NO_RESET
1931
0600 50
POP
BP
1932 060E SF
POP
01
1933 060F SE
POP
51
1934 0810
IF
POP
OS
I DISCARD SAVED BX,CX,DX
19350811
IF
POP
OS
1936 0612 IF
POP
OS
1931 0613 IF
POP
OS
1938 0614 01
POP
ES
1939 0815 CF
IRET
1940 0816
READ_LPEN
ENDP
1941
0816
CODE
ENDS
1942
END
5-160
VIDEO1

Advertisement

Table of Contents
loading

Table of Contents