IBM 5150 Hardware Reference Manual page 255

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
F689 57
4511
PUSH
01
i
SAVE CODE POINTER
F68A B90800
4512
MOV
(x.a
i NUMBER OF BYTES TO MATCH
F66D F3
4513
REPE
CMPSB
COMPARE THE 8 BYTES
f68E A6
F68F SF
4514
POP
01
RECOVER THE POINTERS
f690 Sf
4515
POP
51
F691 741E
4516
JZ
518
J IF ZERO FLAG SET, THEN MATCH OCCURRED
F693 FEeo
4517
INC
AL
; NO MATCH, MOVE ON TO NEXT
F695 83C708
4518
ADD
01.6
I NEXT COOE POINT
F698 4A
451'9
DEC
OX
lOOP CONTROL
F699 75EO
4520
JHZ
517
j
DO ALL OF THEM
4521
4522
j--._--
CHAR NOT HATCHED, HIGHT BE IN USER SUPPLIED SECOND HALF
4523
F69B 3eoo
4524
CHP
Al.O
AL<> 0 IF ONL'( 1ST HALF SCAHHEO
F690 7412
4525
JE
51.
IF
=
0, THEN ALL HAS BEEN SCANNED
F69F 2BCO
4526
SUB
AX,AX
F6A1 8E08
452.7
HOV
DS,AX
ESTABLISH ADDRESSING TO VECTOR
4528
ASSUME
DS:ABSO
F6A3 C43E7COO
4529
LE5
OI,EXT_PTR
j
GET POINTER
F6,6,7 aceD
4530
MOV
AX,ES
; SEE IF THE POINTER REALLY EXISTS
F6A9 OBC7
4531
OR
AX,DI
; IF ALL 0, THEN DOESN'T EXIST
F6AB 7404
4532
JZ
51.
; NO SENSE LOOKING
F6AD B080
4533
MOV
AL,I,S
I ORIGIN FOR SECOND HALF
F6AF EBD2
4534
JMP
51.
; GO BACK AND TRY FOR IT
4535
ASSUME
Ds:OATA
4536
4537
j------
CHARACTER IS FOUND ( AL=O IF NOT FOUND I
F6Bl
4538
S18:
F6Bl 83C408
4539
ADO
SP,8
; READJUST THE STACK. THROW AWAY SAVE
F664 E910FB
4540
JHP
VIDEO.RETURN
; ALL DONE
4541
GRAPHICS.READ
ENDP
4542
;
-------------------------------------------­
4543
EXPAND.MED.COLOR
4544
THIS ROUTINE EXPANDS THE LOW 2 BITS IN BL TO
4545
FILL THE ENTIRE BX REGISTER
4546
ENTRY --
r"-.
4547
BL
=
COLOR TO BE USED ( LOW , BITS )
4548
EXIT - ­
4549
BX
=
COLOR TO BE USED ( 8 REPLICATIONS OF THE 2: COLOR BITS I
4550
;
------------------------------------------- ­
F6B7
4551
51.
PROC
NEAR
F6B7 80E303
455,
Atm
BL,3
; ISOLATE THE COLOR BITS
F6BA 8AC3
4553
HOV
Al,Bl
; COPY TO AL
F6BC 51
4554
PUSH
CX
; SAVE REGISTER
F6BD B90300
4555
MOV
CX,3
; NUMBER OF TIMES TO DO THIS
F6CO
4556
S20:
f6CO ODED
4557
SAL
AL,l
F6C2 DOEO
4558
SAL
AL,I
; lEFT SHIFT BY 2
F6C4 OAD8
4559
OR
Bl.Al
; ANOTHER COLOR VERSION INTO 8L
F6C6 E,F8
4560
lOOP
52.
; FILL ALL OF BL
F6C8 8AFB
4561
MOV
BH,Bl
; FI LL UPPER PORTION
F6CA 59
4562
POP
CX
; REGISTER BACK
F6CB C3
4563
RET
; ALL DONE
4564
51.
Etmp
4565
1-------------------------------------------­
4566
EXPAND.BHE
4567
THIS ROUTII1E TAKES THE BYTE IN AL AND DOUBLES ALL
4568
OF THE BITS, TURNING THE 8 BITS INTO 16 BITS.
4569
THE RESULT IS lEFT IN AX
4570
;
-------------------------------------------­
F6CC
4571
521
PRoe
NEAR
F6CC 52
4572
PUSH
OX
; SAVE REGISTERS
F6CD 51
4573
PUSH
CX
F6CE 53
4574
PUSH
BX
F6CF BAOOOO
4575
HOV
OX,O
J
RESULT REGISTER
F602 B90100
4576
HOV
CX,1
; MASK REGISTER
F605
4577
S,,:
F605 8BD8
4578
MOV
eX,AX
; BASE INTO TEMP
F607 ,309
4579
AND
BX,ex
USE MASK TO EXTRACT A BIT
F6D9 OB03
4580
OR
DX,ex
PUT INTO RESULT REGISTER
F6DS OlEO
4581
5HL
AX,l
F60D D1E1
4582
SHL
ex,!
SHIFT 6ASE AND MASK BY 1
F6DF 8608
4583
MOV
eX.AX
; BASE TO TEMP
F6E1 ,309
4584
AND
BX,ex
EXTRACT THE SAME BIT
F6El OB03
4585
OR
DX,BX
; PUT INTO RESULT
A-62

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents