IBM 5150 Hardware Reference Manual page 253

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
4359
j------
IMAGE IS IN SECOND HALF. IN USER RAM
4360
F594
4361
51:
F594 2e60
4362
SUB
AL.SOH
j
ZERO ORIGIN FOR SECOND HALF
F596 1E
4363
PUSH
OS
SAVE DATA POINTER
F597 28F6
4364
SUB
SI.SI
F599 BEDE
4365
tIDV
OS.SI
ESTABLISH VECTOR ADDRESSING
4366
ASSUME
OS:ABSO
F598 C5367COO
4367
LOS
SI.EXT_PTR
GET THE OFFSET OF THE TABLE
F59F BCDA
4368
MOV
OX.OS
GET THE SEGMENT OF THE TABLE
4369
ASSUME
OS : DATA
F5Al IF
4370
POP
OS
; RECOVER DATA SEGMENT
F5AZ S2
4371
PUSH
OX
l SAVE TABLE SEGMENT ON STACK
4372
4373
; ----- ­
DETERMINE GRAPHICS MODE IN OPERATION
4374
F5A3
4375
52 :
; DETERMINE_MODE
FSA3 OlEO
4376
SAL
AX,!
I tlULTIPLY CODE POINT
F5A5 OlEO
43n
SAL
AX,!
;
VALUE BY 8
F5A7 OlEO
4378
SAL
AX.!
F5A9 03FO
4379
ADD
SI.AX
; SI HAS OFFSET OF DESIRED CODES
F5AB 803£490006
4380
CMP
CRT_MOOE.6
F580 IF
4381
POP
DS
j
RECOVER TABLE POIHTER SEGMEHT
F581 7:2C
4382
JC
57
; TEST FOR MEDIUM RESOLUTIOH MODE
4383
4384
1------
HIGH RESOLUTION MODE
F5B3
43~5
S3:
j
HIGH_CHAR
F583 57
4381:>
PUSH
['II
j.
SAVE REGEN POINTER
F584 56
4387
PUSH
51
; SAVE CODE POINTER
FSB5 6604
"388
MOV
OH,4
; HUl'18ER OF TIMES THROUGH LOOP
F587
4389
54:
F587 At
4390
Loose
; GET eYTE fROM CODE POINTS
F586 F6C360
4391
TEST
eL,S"1-I
; SHOULD WE USE TKE FUNCTION
F5BB 7516
4392­
JNl
56
;
TO PUT CHAR IN
F580 AA
4393
STOSB
STORE IN REGEN BUFFER
F58E AC
4394
Loose
F5SF
4395
$5:
F5BF 266885FFIF
4396
MOV
ES: (DI+2000H-l
J
.AL
; StORE IN SECONO HALF
F5C4 83C74F
4397
ADD
01.79
j
MOVE TO NEXT ROW IN REGEN
F5C7 FEtE
4398
DEC
DH
j
DONE WITH LOOP
F5C9 75EC
4399
JNZ
54
F5CB 5£
4400
POP
51
F5CC SF
4401
POP
01
; RECOVER REGEN POINTER
FSCD 47
4402
INC
01
; POINT TO NEXT CHAR POSITION
FSCE EtEl
4403
LOOP
S3
j
MORE CHARS TO WRITE
F500 £9F4F8
4404
JMP
4405
F503
4406
56:
F503 263205
4407
XOR
AL.E5:tOIJ
i EXCLUSIVE OR WITH CURRENT
F506 AA
4408
STOSB
; STORE THE CODE POINT
F507 At
4409
LeDse
; AGAIN FOR ODD FIELD
F508 263285FFIf
4410
XOR
AL.ES:IOl+2000H-ll
F50D EBED
4411
JMP
55
; BACK TO MAINSTREAM
4412
4413
; -----­ MEDIUM RESOLUTION WRITE
F50F
4414
S7:
F5DF 6A03
4415
MOV
OL.eL
; SAVE HIGH COLOR BIT
F5£1 D1E7
4416
SAl
01,1
; OFFSET*2 SINCE
2
BYTES/CHAR
F5E3 £80100
4417
CALL
519
; EXPAND BL TO FULL WORD OF COLOR
F5£6
4418
S8:
; MEO_CHAR
F5£6 57
4419
PUSH
01
; SAVE REGEN POINTER
FSE7 56
4420
pUSH
SI
j
SAVE THE CODE POINTER
F5£6 6604
4421
HOV
OH.4
; NUMBER OF LOOPS
F5EA
4422
59:
F5EA At
4423
Loose
j
GET CODE POINT
F5EB £80EOO
4424
CALL
521
; DOUBLE UP ALL THE BITS
F5EE 23C3
4425
AND
AX.BX
; CONVERT THEH TO FOREGROUNl) COLOR (
0
BACK
J
F5FO F6C280
4426
TEST
oL,BOH
; IS THIS XOR FUNCTION
F5F3 7407
4427
JZ
510
; NO, STORE IT IN AS IT IS
F5F5 263225
4428
XOR
AH,ES:tDIJ
; DO FUNCTION WITH HALF
F5F8 26324501
4429
XOR
AL,ES:IDI+ll
;
AND WITH OTHER HALF
FSFC
4430
S10:
,
F5FC 268825
4431
MOV
ES:[OIJ.AH
I
STORE FIRST BYTE
F5FF 26884501
4432
MOV
ES;[oI+1J,AL
; STORE SECOND BYTE
F603 AC
4433
LOOSS
; GET CODE POUlT
F604 E8t500
4434
CALL
521
A-60

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents