IBM 5150 Hardware Reference Manual page 248

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LaC OBJ
LINE
SOURCE
f41C 74F8
3986
JZ
P13
; WAIT UNTIL IT IS
F41£ BAC3
3987
MDV
AL,BL
; RECOVER CHAR
F420 AA
3968
SlOSS
; PUT THE CHAR/ATTR
F421 47
3989
INC
Dr
; BUNP POINTER PAST ATTRIBUTE
F422 E2E8
3990
LOOP
P11
;
AS MANY TII1ES AS REQUESTED
F424 E9AOFD
3991
JMP
VIDEO_RETURN
3992
WRITE_C_CURRENT EHOP
3993
j - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ­
3994
j
READ DOT
-- WRITE DOT
3995
; THESE ROUTINES WIll WRITE A DOT. OR READ THE
3996
DOT AT THE INDICATED LOCATION
3997
ENTRY - ­
399S
OX
=
ROW (0-199)
(THE ACTUAL VALUE DEPENDS ON THE MODE)
3999
C'I(
=
COLUMN ( 0-639) ( THE VALUES ARE NOT RANGE CHECKED)
4000
Al
=
DOT VALUE TO WRITE (I. 2 OR 4 BITS DEPENDING ON MODE.
4001
REQ'D
FOR
WRITE DOT ONLY. RIGHT JUSTIFIED)
4002
BIT 7
OF AL :
1 INDICATES
XOR WE
VALUE INTO THE LOCATION
4003
OS
=
DATA SEGMENT
4004
ES
=
REGEN SEGMENT
4005
4000
EXIT
4007
AL :: DOT VALUE REAO, RIGHT JUSTIFIED, READ ONLY
4008
J ------------------------- ------------------­
4009
ASSUME
CS :CODE .DS:DATA. ES: DATA
F427
4010
REAO_oDT
PROC
NEAR
F427 E83100
4011
CALL
03
• DETERMINE BYTE POSITION Of DOT
F42A 268A04
4012
HOV
AL,ES:(SIJ
; GET THE BYTE
F420 22C4
4013
AND
AL.AH
• MASK OFf THE OTHER BITS IN THE BYTE
F42F 02EO
4014
SHL
AL,CL
; LEFT JUSTIfY THE VALUE
F431 8ACE
4015
HDV
Cl,DH
; GET NUMBER OF BITS IN RESULT
F433 02CO
4016
OOL
AL,CL
; RIGHT JUSTIFY THE RESULT
F435 E98FFD
4017
JHP
VIDEO.RETURN
; RETURN FROM VIDEO
10
4018
ENOP
4019
F436
4020
IomITE.DOT
PROC
NEAR
F438 50
4021
PUSH
AX
SAVE DOT VALUE
1"""""\
F439 50
4022
PUSH
AX
TWICE
F43A E61EOO
4023
CALL
R3
DETERMINE BYTE POSITION OF THE
~OT
F430 02E8
4024
SHR
AL.CL
SHIFT TO SET UP THE BITS fOR OUTPUT
F43F 22C4
4025
Mm
AL.AH
STRIP OfF THE OTHER BITS
F441 268AOC
4026
MOV
CL,ES:[SI1
; GET
THE CURRENT BYTE
F444 58
4027
POP
BX
; RECOVER XOR flAG
F445 F6C380
4028
TEST
BL.80H
; IS IT ON
F448 750D
4029
JNZ
; YES. XOR THE DOT
.,
F44A F604
4030
NOT
AH
; SET THE MASK TO REMOVE THE INDICATED BITS
F44C 22CC
4031
AND
CL,AH
F44E QAel
4032
00
AL.CL
; OR
IN
THE NEW VALUE OF THOSE BITS
F450
4033
Rl :
; FINISH_DOT
F450 268804
4034
MOV
ES:(SI1.AL
; RESTORE THE BYTE IN MEMORY
F453 58
4035
rop
AX
F454 E970FO
4036
JMP
VIDEO.RETURN
;
RETURt~
FROM VIDEO
10
F457
4037
R2 ;
; XOR_OOT
F457 32Cl
4038
XOO
AL,CL
; EXCLUSIVE
OR
THE DOTS
.,
F459 ESFS
4039
JMP
; FINISH UP THE W1HTWG
4040
WRITE.DOT
ENOP
4041
; ----------------------- --------------------­
4042
; THIS SUBROUTINE DETERMINES THE REGEN BYTE LOCATION OF THE
4043
; IHDICATED ROW COLUMN VALUE IN GRAPHICS MODE.
4044
ENTRY - ­
4045
OX :: ROW VALUE (0-1991
4046
ex
=
COLUMN VALUE (0-639)
4047
EXIT - ­
4048
51 ;: OFFSET INTO REGEN BUFFER FOR BYTE OF INTEREST
4049
AH
=
MASK TO STRIP OFF THE BITS OF INTEREST
4050
CL ::; BITS TO SHIFT TO RIGHT JUSTIFY THE MASK IN AH
4051
CH
=
#
BITS IN RESULT
4052:
j - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ­
F458
4053
03
PROC
HEAR
F4SB 53
4054
PUSH
BX
; SAVE
ex
OURING OPERATION
F45C 50
4055
PUSH
AX
; WILL SAVE AL DURING OPERATION
4056
4057
;------ DETERMINE 1ST BYTE IN IDICATEO ROW BY MULTIPLYING ROW VALUE BY 40
4058
;------ ( LOW BIT OF ROW DETERMINES EVEN/ODD. 80 BYTES/ROW
4059
F450 B028
4060
MOV
AL.40
F45F 52
4061
PUSH
OX
; SAVE ROW VALUE
A-55

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents