IBM 5150 Hardware Reference Manual page 259

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
F7Cl
8AC4
F7e] EE
F7C4 42
F7C5 EC
F7C6 SAEe
F7e8 4.1.
F7C9 FEC4
F7CB 8AC4
F7CD EE
F7eE 42
F7CF EC
F700 8AE5
F102 8A1E4QOO
F706 ZAFF
F70B ZE8A9FAIF7
FlOD 2BC3
nOF 26064EOO
F7E3 790]
PES B80000
F7E8
F7E8 8103
F7EA 803E490004
F7EF 722A
F7F 1 803E490007
F7F6 7423
F7F8 62:28
F7FA F6FZ
F7FC 8AE8
F7FE 02EO
F800 BADe
F802 ZAFF
F804 803E490006
F809 7504
F808 6104
F90D DOE4
F80F
F80F D3E3
F811 8.1.04
F813 8AFO
F815 DOEE
F817 DOEE
F619 EB12
F818
F81B F6364AOO
F81F 8AFO
F821 8.1.04
F823 02EO
F625 8AE8
F827 BADe
F829 32F'F
F828 D3E3
F820
F820 8401
F8ZF
FeZF 52
F630 68166300
F634 83C207
F837 EE
4615
MOV
Al.AH
; REGISTER TO READ
4816
OUT
DX,AL
I SET IT UP
4817
INC
ox
; DATA REGISTER
4818
IN
AL,OX
; GET THE VALUE
4819
MOV
CH,AL
; SAVE IN CX
4820
DEC
OX
; ADDRESS REGISTER
4821
INC
AH
4822
MOV
AL.AH
SECDND DATA REGISTER
4623
OUT
OX,Al
4824
INC
OX
POINT TO DATA REGISTER
4925
IN
Al,DX
GET SECOND DATA VALUE
4626
MOV
AH,CH
; AX HAS INPUT VALUE
4827
4826
;------ AX HAS THE VALUE READ IN FROM THE 6845
4629
4630
MOV
BL,CRT_MODE
4831
SUB
BH,BH
; MODE VALUE TO
ax
4832
HOV
8l,CS:vUBXl
; DETERMINE AMOUNT TO SUBTRACT
4633
SUB
AX.BX
; TAKE IT AWAY
463,+
SUB
AX,CRT_START
; CONVERT TO CORRECT PAGE OOIGIN
4635
JNS
V2
IF POSITIVE. DETERMINE HaDE
4636
HOV
AX,Q
; <0 PLAYS AS 0
4837
4636
;------ DETERMINE HOOE OF OPERATION
4639
4840
V2:
; DETERMINE_MODE
4641
MOV
Cl,3
; SET *8 SHIFT COUNT
4842
eMP
CRT_MODE
,4
; DETERMINE
IF
GRAPHICS OR ALPHA
4843
JB
V4
; ALPHA_PEN
4644
CMP
CRT_MODE
,7
4845
JE
V4
4646
4847
; ------ GRAPHICS MODE
4848
4849
HOV
Dl,40
; DIVISOR FOR GRAPHICS
4850
OIV
OL
; DETERMINE ROW! All AND COLUI1NtAH)
4851
;
AL RANGE 0-99, AH RANGE 0-39
4852
;------ DETERMINE GRAPHIC ROW POSITION
4853
4854
MOV
CH,Al
; SAVE ROW VALUE IN CH
4855
ADO
CH.CH
; *2 FOR EVEN/ODD FIELD
4856
MDV
Bl.AH
;
COLUMt~
VALUE TO BX
4857
SUB
BH,BH
; MULTIPLY BY 6 FOR MEDIUN RES
4858
CHP
; DETERMINE MEDIUN OR HIGH RES
4859
J~~E
;
~mT
_HIGH_RES
4660
I10V
; SHIfT VALUE FOR HIGH RES
4661
SAL
; COLUMN VALUE TIMES
Z
FOR HIGH RES
4862
V3:
; NOT_HIGH_RES
4863
SHL
BX,CL
; MULTIPLY *16 FOR HIGH RES
4664
4865
;------ DETERMINE ALPHA CHAR POSITION
4866
4867
HOV
DL,AH
; COLUMN VALUE
FOR
RETVRN
4868
HOV
DH.AL
I
RO~
VALUE
4869
SHO
; DIVIDE BY 4
4870
SHO
DH,I
FOR
VALUE IN 0-24 RANGE
4671
JHP
SHORT V5
; LIGHT_PEN_RETURN_SET
4812
4873
MODE
ot~
lIGHT PEN
J------
ALPHA
4874
4875
V4:
; ALPHA_PEN
4876
OIV
BYTE PTR CRT_COlS
; DETERMINE ROW.COlUMN VALUE
4877
MOV
DH.AL
; ROWS TO DH
4878
HOV
DL,AH
; COLS TO Ol
4679
SAL
Al,CL
; MULTIPLY ROWS.
8
4880
HOV
CH,AL
; GET RASTER VALUE TO RETURN REG
4881
Nov
8l.AH
; COLUMN VALUE
4882
XOR
BH.BH
TO BX
4863
SAL
BX,CL
4884
V5:
lIGHT_PEN_RETURN_SET
4885
NOV
AH,I
INDICATE EVERTHING SET
4886
V6:
LIGHT
_PEN_RETVRN
4887
PUSH
DX
SAVE RETURN VALUE (IN CASE)
4888
MOV
DX,ADOR_6845
; GET BASE ADDRESS
4889
ADO
OX,7
I
POINT TO RESET PARM
4890
OUT
DX,Al
; ADDRESS. NOT DATA, IS IMPORTANT
A-66

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents