EasyManua.ls Logo

IBM 5150 - Page 265

IBM 5150
393 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
LOC
OBJ
LINE
SOURCE
F97E EBF9
5268
"20
5269
ENDP
5270
;
----------
----------------------------------
f9BO
5271
NEAR
5272
PURPOSE:
5273
TO
COMPUTE
TIME
TIll
~EXT
DATA
5274
TRANSITION (EDGE)
5275
5276
;
ON
ENTRY:
5Z77
;
EDGE_CNT
CONTAINS
LAST
EDGE
COUNT
5278
5279
;
ON
EXIT:
52&0
; AX CONTAINS
OLD
LAST
EDGE
COUNT
5281
I BX CONTAlNS
PULSE
WIDTH
{HALF
Bn
I
5282
;
--------------
---------.--------------.-
F'eo
696400
5283
MOV
ex.
100
j SET
TIME
TO
WAn
FOR
BIT
F983
BA266BOO
5284
MOV
AH.LAST_VAl
JGET
PRESENT
INPUT
VALUE
F987
5285
Nee:
~
Fm-H-BIT
F987
E462
5286
IN
AL.POIH_C
;
INPUT
DATA BIT
f989
2410
5237
AND
AL,OlOH
;MASK OFF EXTRANEOUS BITS
F988
3AC4-
5288
CMP
AL,AH
;SAME
AS
BEFORE?
FgeD
ElFS
5269
LOOPE
"22
;
LOOP
TILL
IT
CHANGES
F9SF
A26BOO
5290
MOV
LAST_VAL,AL
JUPDATE LAST_VAL WITH
NEW
VALUE
F992
BOOD
5291
MOV
Al;O
jREAD
TIMER'S
COUNTER
eONHA.ND
F9'94
E643
5292
OUT
TIM_CTL,AL
;
LATCH
COUNTER
F996 E440
5293
HI
AL, TIMERO ;GET
LS
eYTe
F998
8AEO
52'4
I10Y
AH,Al
,SAVE
IN
Aft
fY.,,,,
1:'"0
SUS
IN
Al,
TIMERO
,GET
HS BYTE
F99C
8bC"
5296
XCHG
Al,AH
,XCHG
Al,AH
F99E
8Bl£6700
5n7
MOV
BX,EDGE_CNT
;
BX
GETS LAST
EDGE
COUNT
F942 2B08
5298
SUB
BX,AX
; SET BX EQUAL
TO
HALF
BIT
PERIOD
F9"4
1\36700
5299
MOV
EDGE_CNT
,AX
; UPDATE
EDGE
CO""'T;
F9A7
Cl
5300
RET
5301
!fEAD_HALF
_BIT
ENDP
5302
;--------------------_
...
_--_
..
_-------------
F9A8
5303
PROC
NEAR
5304
5305
; WRITE 1
OR
MORE
256 BYTE BLOCKS
TO
CASSETTE.
5306
THE
OATA
IS
PADDED
TO
FILL
OUT
THE
LAST
256
BYTE BLOCK.
5307
530S
;
ON
ENTRY:
5309
BX POINTS
TO
MEMORY
BUFFER
ADDRESS
5310
ex
CONTAINS
HUMBER
OF
BYTES
TO
WRITE
5311
;:512 ; ott
EXIT:
5313
BX
POINTS 1 BYTE PAST LAST BYTE WRITT-EN
TO
CASSETTE
5314
ex
IS
ZERO
5315
;--------------------------------------------
F9AS
53
5316
PUSH
ax
F9.9
51
5317
PUSIt cx
F9,u, E461
5318
IN
AL,PORT_B
;DISABLE
SPEAKER
f9AC
24FO
53n
AND
AL,NOT
02H
F9AE DeOI
5320
OR
AL.
01H ENABLE
TInER
F980
E661
5321
OUT
PORT_B.AL
F962
BOB6
5322
MOV
AL,OB6H
SET UP TIMER .. -
MODE
3
SQUARE
WAVE
F964
E643
$3,3
OUT
TIM_CTLtAl
F9B6 E8A600
5324
CALL
BEGIN.OP
; START
MOTOR
AND
DELAY
F9B9 BeA004
5325
NOV
AX,llS4
; SET
NORMAL
BIT
SIZE
F98C E88500
5326
CALL
""
J SET_TIMER
F9BF MOOOS
5327
MOV
CX.0800H
;SH
CX
FOR
lEADER BYTE
COUNT
F9C2
5328
W23:
; WRITE LEADER
F9C2 F9
53,9
STC
;
WR
ITE
ONE
BITS
F9Cl
E86800
5330
CALL
Wl?ITE_BIT
F9C6
EZFA
5331
LOOP
"e>
;
LOOP
TIL
LEADER
IS
WRITTEN
F9C8
F8
5332
CLC
;tRITE
SYNC
BIT
to
J
F9C9
£86200
5333
CALL
WRITE
...
8IT
F9CC
S9
5334
pop
ex
;RESTORE
REGS
CX,BX
FqCD
58
5335
POP
BX
F9CE
B016
5336
MoV
AL.
16M
I
WRITE
SYH
CHARACTER
F900
E84400
5337
CALL WRITE_BYTE
A-72

Table of Contents

Other manuals for IBM 5150

Related product manuals