IBM 5150 Hardware Reference Manual page 256

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
F6E5 DIE 1
4586
5Hl
eX.l
; SHIFT ONLY MASK NOW. MOVING TO NEXT BASE
F6E7 73fC
4587
JNe
522
; USE MASK BIT COMING OUT TO TERMINATE
F6E9 8BC2
4588
MOV
AX.OX
; RESULT TO PARM REGISTER
F6EB 5B
4589
POP
BX
F6EC 59
4590
POP
ex
j
RECOVER REGISTERS
F6ED SA
4591
POP
ox
F6EE C3
4592
RET
I ALL DONE
4593
521
ENDP
4594
l-- -- ----- -- - - - - -- -- -- - - - -- --- -- ---------- --­
4595
J
HED_READ_BYTE
4596
f THIS ROUTINE WILL TAKE 2 BYTES FROM rtfE REGEN BUFFER.
4597
I
COMPARE AGAINST THE CURRENT fOREGROUND COLOR. AND PLACE
4598
;
THE CQRRESPQtmING ONIOFF BIT PATTERN INTO THE CURRENT
4599
POSITION IN THE SAVE AREA
4600
ENTRY -­
4601
SI,OS :: POINTER TO REGEN AREA OF INTEREST
4602
,BX
=
EXPANDED FOREGROUND COLOR
4603
BP
=
POINTER TO SAVE AREA
4604
, EXIT -­
4605
;
SP IS INCPEMENT AFTER SAVE
4606
1------------------------------------------- ­
F6EF
4607
S23
PRoe
NEAR
F6EF 8A24
4608
HOV
AH. [SI
1
;
GET FIRST BYTE
F6Fl 844401
4609
MOV
AL.[SI+l1
; GET SECOND BYTE
F6F4 6900CO
461D
HOV
eX.DCODDH
; 2:
BIT MASK TO TEST THE ENTRIES
F6F7 B200
4611
HOV
DL.O
; RESULT REGISTER
F6F9
4612
S24:
F6F9 85Cl
4613
TEST
AX.CX
; IS THIS SECTION BACKGROUHD?
F6FB F8
4614
eLe
; CLEAR CARRY IN HOPES THAT
IT
IS
F6FC 7401
4615
JZ
525
; IF ZERO. IT IS BACKGROUND
F6FE '9
4616
5Te
, WASN'T,
so
SET CARRY
F6FF 0002
4617
S25:
ReL
DL,!
; MOVE THAT BIT INTO THE RESULT
F701 DlE9
4618
SHR
CXol
F703 DJE9
4619
5HR
CX,!
, MOVE THE MASK TO THE RIGHT BY 2 BITS
F705 73F2
462.
JNe
52.
; DO IT AGAm IF MASK DIDN'T FALL OUT
F707 885600
4621
MOV
[BPl,DL
; STORE RESULT IN SAVE AREA
nOA 45
4622
It~C
BP
; ADJUST POINTER
F70B C3
4623
RET
; ALL DONE
4624
S23
ENOP
4625
; - - -- --- - - --- ---------------- ----- ----- - -­
4626
; V4_POSITION
4627
;
THIS ROUTINE TAKES THE CURSOR POSITION CONTAINED IN
4626
THE MEMORY LOCATION. AND COtNERTS
IT
INTO AN OFFSET
4629
I
INTO THE REGEN BUFFER, ASSUMING ONE BYTE/CHAR.
4630
FOR MEDIUM RESOLUTION GRAPHICS, THE NUMBER MUST
4631
BE DOUBLED.
4632
ENTRY -- NO REGISTERS,MEMORY LOCATION CURSOR_POSH IS USED
4633
EXIT-­
4634
AX CONTAINS OFFSET INTO REGEN BUFFER
4635
; --- ----- ------------------------ - -------­
F70C
4636
52.
PROC
NEAR
FlOC A15000
4637
HOV
AX.CURSOR_POSN
; GET CURRENT CURSOR
F70F
4638
GRAPH_POSH
LABEL
NEAR
F70F 53
4639
PU5H
BX
I SAVE REGISTER
F710 8808
4640
HOV
BX,AX
; SAVE A COpy OF CURRENT CURSOR
F712 8AC4
4641
HOV
AL.AH
I GET ROWS TO AL
F714 F6264AOO
4642
HUl
BYTE PTR CRT_COLS
; NULTIPLY BY BYTES/COLUMN
F7l8 DIED
4643
5HL
AX'!
; MULTIPLY
*
4 SINCE 4 ROWS/BYTE
F7lA DIED
4644
SHl
AXd
F71C 2AFF
4645
SUB
BH,BH
; ISOLATE COLUMN VALUE
F7lE 03C3
4646
ADO
AX,BX
; DETERMINE OFFsET
F720 56
4647
POP
BX
; RECOVER POINTER
F721 C3
464&
RET
; ALL DONE
4649
526
ENDP
4650
;------------------------------------------- ­
4651
4652
, THIS INTERFACE PROVIDES A TElETYPE LIKE INTERFACE TO THE
4653
VIDEO CARD.
THE INPUT CHARACTER IS WRITTEN TO THE CURRENT
4654
ClJ;!SOR POSITION. AND THE CURSOR IS MOVED TO THE NEXT POSITION.
4655
IF THE CURSOR LEAVES THE LAST COLUMN OF THE FIELD, THE COLUMN
4656
IS SET TO ZERO. AND THE ROW VALUE IS INCREMENTED.
IF THE ROW
4657
ROW VALUE LEAVES THE FIELD. THE CURSOR IS PLACED ON THE LAST ROW.
4658
FIRST COLUMN, AND THE ENTIRE SCREEN IS SCROLLED UP ONE LIUE.
4659
WHEN THE SCREEN IS SCROLLED UP. THE ATTRIBUTE FOR FILLING THE
4660
NEWLY BLANKED LINE IS READ FROM THE CURSOR POSITION ON THE PREVIOUS
4661
LINE BEFORE THE SCROLL. lH CHARACTER MODE.
IN GRAPHICS MODE,
A-63

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents