IBM 5150 Technical Reference page 190

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
F6E5
4873
523
PROC
NEAR
F6ES 8A24
4874
HOV
AH,[SIJ
I GET FIRST BYTE
F6E7 8A4401
4875
HOV
AL'(sI+ll
; GET SECOND BYTE
F6EA 8900CO
4876
HOV
eX,DCDODH
I 2 BIT MASK TO TEST THE ENTRIES
F6EO 8200
4877
HOV
CL,D
• RESULT REGISTER
F6EF
4878
524:
F6EF 85Cl
4879
TEST
Ax.ex
I IS THIS SECTION BACKGROUND?
F6Fl Fa
488'
eLe
I CLEAR CARRY IN HOPES THAT IT IS
~
F6F2 7401
4881
JZ
525
; IF ZERO, IT IS BACKGROUND
F6F4 F9
4882
STe
I WASH' T. SO SET CARRY
F6FS 0002
4883
525:
ReL
Cl.l
; HOVE THAT BIT ItITO THE RESULT
F6F7 01E9
4884
SHR
ex.!
F6F9 01 E9
4885
SHR
CXol
; HOVE THE MASK TO THE RIGHT BY 2 BITS
F6FB 73F2
4886
JNC
524
; 00 IT AGAIN IF MASK DIDN'T FAll OUT
F6FD 885600
4887
HOV
[BP),Dl
I STORE RESULT
IN
SAVE AFilEA
F70D 45
4888
INC
BP
I ADJUST
POINTER
f701 C3
4889
RET
I ALL DONE
4890
523
ENDP
4891
I ­ ---------------------------------­ ------------­
4892
, V4_POSITIOH
4893
THIS ROUTIHE TAKES THE CURSOR POSITION
48..
CONTAINED IN THE MEMORY LOCATION, AND­
4895
COI'NERTS IT
nno
AN OF FSET
nno
THE
48..
REGEN BUFFER, ASSUMING ONE BnE/cHAR.
4897
FOR MEOIUH RESOLUTION GRAPHICS,
4898
THE NUMBER MUST BE OOUBLED.
4899
ENTRY
4900
NO REGISTERS, MEMORY LOCATION
4901
I
CURSOR_POSH IS USED
4902
I EXIT
4903
AX CONTAIHS OFFSET INTO REGEN BUFFER
4904
;-----------------------------------------------­
f702
4905
52.
PROC
NEAR
f702 1.15000
4906
HOV
AX,CURSOR.POSH
; GET CURRENT CURSOR
nos
4907
GRAPH.POSH
LABEL
NEAR
nos 53
4908
PUSH
BX
I SAVE REGISTER
n06 8B08
4909
HeV
BX,AX
I SAVE A COPY OF CURRENT CURSOR
n08 8AC4
4910
HOV
AL,AH
; GET ROWS TO AL
~
F70A F6264AOO
4911
MUL
BHE PTR CRT.COLS
I HULTIPL
'1
BY BHES/COLUMN
nOE OlEO
4912
SHL
AX,!
I HULTIPL
'1
*
4 SINCE 4 ROWS/8'1TE
nlO OlEO
4913
SHL
AX,!
F712 2AFf
4914
SUB
BH,BH
I ISOLATE COLUMN VALUE
n14 03C3
4915
ADD
AX,BX
I DETERMINE OFFSET
f716 58
4916
POP
BX
I RECOVER POUrTER
F717 C3
4917
RET
; ALL DONE
4918
52.
ENDP
4919
,------
----------­
-
---­------------------------
-------------­-
---
--
-----­
4920
J WRITE.TTY
492l
THIS INTERfACE PROVIDES A TELETYPE LIKE INTERfACE TO THE VIDEO
4922
CARD. THE INPUT CHARACTER IS WRITTEN TO THE CURRENT CURSOR
4923
POSITION, AND THE CURSOR IS MOVED TO THE NEXT POSITION. IF THE
4924
CURSOR LEAVES THE LAST COLIJI'fl OF THE fIELD, THE COLlI"N IS SET
4925
TO ZERO, ANO THE ROW VALUE IS INCREMENTED.
If
THE ROW VALUE
4926
LEAVES THE FIELD, THE CURSOR IS PLACED ON THE LAST ROW, FIRST
4927
COLUMN, ANO THE ENTIRE SCREEN IS SCROLLED UP ONE l.INE. WHEN
4928
THE SCREEN IS SCROLLED UP, THE ATTRIBUTE FOR FILLING THE NEWLY
4929
BLANKED LINE IS READ fROM THE CURSOR POSITION ON THE PREVIOUS
4930
LINE BEfORE THE SCROLL. IN CHARACTER MODE. IN GRAPHICS to)E.
4931
THE 0 COLOR IS USED.
4932
; ENTRY
4933
(AM)
=
CURRENT CRT MODE
4934
(AU
=
CHARACTER TO BE WRITTEN
4935
NOTE THAT BACK SPACE, CAR RET. BELL ANO LINE fEED ARE HANDLED
4936
AS COHHANDS RATHER THAN AS DISPLAYABLE GRAPHICS
4937
(BU
=
FOREGROUND COLOR fOR CHAR WRITE IF CURRENTLY IN A
4938
GRAPHICS HODE
4939
; EXIT
,,-......,
4940
4941
ALL REGISTERS SAVED
1-----------------------------------------------------------------------­
4942
ASSUME
CS:COOE ,OS:OATA
nl8
4943
WRITE.TTY
PROC
NEAR
f718 50
4944
PUSH
AX
; SAVE REGISTERS
F719 50
494S
P\JSH
AX
, SAVE CHAR TO
~ITE
nlA B403
4946
HOV
AH,3
F7IC 8A3E6200
4947
HOV
BH ,ACTIVE.PAGE
i
GET THE CURRENT ACTIVE PAGE
f720 COlO
4..8
INT
10H
, READ THE CURRENT CURSOR POSITION
f722 58
4949
POP
AX
, RECOVER CHAR .
System BIOS 5-97

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents