Professional Documents
Culture Documents
\~__.I
DECUSNO.
TITLE
AUTHOR
COMPANY
DATE
SOURCE LANGUAGE
DECUS
PROGRAM
LIBRARY
8-602A
Floor Anthon i
January 1973
PAL
ATTENTION
This is a USER program. Other than requiring that it conform to submittal and review standards,
no quality control has been imposed upon this program by DECUS.
The DECUS Program library is a clearing house only; it does not generate or test programs. No
warranty, express or implied, is made by the contributor, Digital Equipment Computer Users
Society or Digital Equipment Corporation as to the accuracy or functioning of the program or
related material, and no responsibility is assumed by these parties in connection therewith.
Subroutine standardisation
INTRODUCTION:
By the beginning of 1972, nearly 14 000 computers of the PDP8
family have been produced and field-installed.
Many
programs have since then found their way to the DECUS PROGRAM
LIBRARY.
The basic
These
The
can be set at assembly time, or that need not to change very often.
Use the AC for frequently
charigi~g
information.
A conmwn informat-
The
to avoid conflicting
within the scope of this paper . The concept of creating an information "vector", that is a limited area in core with all the
information, in order
All
on~s.
additione.1
information is needed.
should not exceed 52 positions, as assembler output and crossreference numbers must have room to be inserted.
The source tape should be submitted with the tabulations, not
being converted to spaces.
The listing should preferably be made with a teletype printer
(teletype type of character), printed with tabs converted to
spaces.
PROGRAM SUBMISSION
Submit your program subroutine to
The Editorial Board of
The PDP8 COOK BOOK
c/o Floor Anthoni,
Medical Biological Laboratory TNO,
139, Lange Kleiweg,
RIJSWIJK (ZH),2100,
The Netherlands.
NOTE!
- - - - - - _.
~.----.--
.~-
..... ~
--..-.""'.--.-......... -.-....-~<>-~-".--"
LIST OF CONTRIBUTORS
Contributions
Floor Anthoni
1,2,3,4,5,6,7,9,
15, 17, 18
Rijswijk (ZH),
The Netherlands
Thierri den Dunnen
Dr.Neher Laboratorium.
26,27,28,29,30,31,32,
St.Paulusstraat 4,
Leidschendam,
The Netherlands
Hans Mees,
Prins Maurits Laboratoria,
8
C.D~,
16
FLOW-CHART conventions
The flow-charts make use of relatively few symbols
Decision, branching
Subroutine call.
A subroutine may have more than one return
(branching)
(
/COHMENT
ST~!,
L9P~<,
IfHH 1'1'P1-, HIt. CHAU\CH.j,S 1- OLL U.vL\ G TH i< J[v,,S I l'IlS TI1.
I1EFMINATOFl IS A l::t.liO.
/
JMS TYPTE.Y
3'11
I"" "
3912
303
/"8"
/
/
/
TYPTF..X,
o
fiE TUFiN
k1
TAL;
IS;:
SNA
JMP
Jl-':S
JMP
I TYPT~X
TYPTEX
I"C"
/T r.r;'<1 I l\iA T at.:
IAC=0
/GE.I CHAH.
/1, I:,F O?
I TYPTt.!I!
TYPE.
TYPTEX+ 1
L OC.
I . '~:: TlJ.llYFl:.
I I'JI 1'1 AI. II; 1<.S
I'JUT
I
I
I
I
TYPt:; LOUTL'a.
~'}H f. ..\i f;.\1 H . J"i El;
l~EST()Flf\DLt.
I'l)l
l"l Ii 5 T 1 L', t .
TAD CHA}<;{)CTl-.l;
J:VlS T'IPl!.
BETU.i~N
IAC={?
NOP
1 YF' f:,
(1
JMP .+3
TSt<
JMP .-1
TLS
CLA
TAD TYPE-l
DCA TYPt;+ 1
JMP I
TYP t;
10
'~\3
TYI't, A
CHALAC1~L
CHAL\i
ILIST,
LJl'l S
TYP T E.X
ITYP E "ARC"
LIST
Rl:-.TUHN
IAC=0
301
302
303
(1
IUSEiJ AS
lYP T E.X"
{~
/1YPE. TKXTSTHING
IGET ARG
ISAVE. TO USE. AS P(HNIE.h
I}<OE COFE~ECT hETUhN
IGET CHAr-:
/Z. Ell O?
lYE.':), HE.TUhN
TAD 1 TYPTE.X
DCA TYPTE.X-l
1 SZ TYPTEX
TAl.!1 TYPTEX-l
SNA
JlV;P 1 TYPTEX
JMS TYPE.
I;;Z TYPTEX-l
JMP TYPTEX+ 4
POIN1~h
INO
11
I VAL I 1j l'
IIr
1
1
I
I
ron
US!'.!.
3 loICil'lS:
S ll:i;\J.
J/:S PHINTlJ
F Co T Uh,,\j
60~HJj
7634
'1166
71'/7
lA lJ
0
:? 60
e'
-4
PHINl[)'
~\j (j
Ll~.Ll::,ll",
0
DCA PhINTlJ-2
TAlJ PFdNT1J-1
DCA PEINTD-4
DCll PE 1 NTD-:>
TAD PHINTV- 6
TAD PRINTD-4
DCA .+1
HLT
CLL
TAD PE I N TD- 2
SNL
.11'11' + Lj
I SZ PliINTD-5
DCA PRIWfD-2
JMP PHINTlJ+ 5
CLA
TAV PHI NTD- 5
TAD PEINTD-3
JMS TYPE
I SZ PRINTD-il
JMP PEINTV+L;
JMP I PEINTD
IAC=Fl
1-10(i10
1-100
1-1 (Jj
1-1
COl\lVr,RSION CON,STANTS
lSi:.. T UP COUNT
ICLl:.Ah 13CD
/I'~TCH
IVALU~
- CU\lSTANT
I OV f<.H. FL 0;11 ?
INOITYP~ IT
IYi:..SIN~XT THY
IBCD
1+260
INJ:,XT lJI Gl T
12
IDr'\~)
PI\]f\PY
1 U uC1AL.
L"
UCl(\L,
~\O
,SI G:\j.
Tt'. lJ i.vOla,
J[VJS PFdl\lT8
El::.TUEN
I
I
2Ml
7
I{\C=O
1['lA S'-{
lLiI GI l' C OLL'Illfo,h
1# or LI l-iI IS
ITl::.MP OIJ\h'Y
v"
-4
9!
PRINT8,
0
EAL
DCA
TI\ 1)
DCA
TAlJ
hAL
RIL
LCA
TAL
ANLJ
TAD
CLL
PEINT8-1
F'hINT8-2
PRL'JT8-3
IS 1:.1 UP C OLJ:',n
PEINn~-l
PRINn~-l
PEI,\lT8-1
PhINT8-4
1['lAS,{
PRINn~-5
1~"1Aj{J:o,
A SC I I
JlvJ5
TYPE.
1St. PHINT8-3
JMP PEINT8+S
JMP I PEINTK
II.! lJ()i-.JE?
INOT YET
13
JMS HSREAD
OUT OF TAP E HE TURN
NORMAL RETURN, CHAR.
,~
H SREAb
(1
HSRl'LG,
DCA HSBEAlJ-l
lAD HSRFLG
S7.A CLA
JMP .+3
HSF'
JMP .+ 5
DCA HSRFLG
6016
I SZ HSHtAD
JMP I HSRl'::AD
I Sl HSHEAD-l
JMP HSHFLG
I SZ HSHFLG
<1M? I HSHEAD
I~
AC
II NIT h!!.AlJEh
ISKIP?
INa, COUNT lIME-OUT
ICLEAR JoLAG
IR:EAD
IRETUHN,CHAR IN AC
I!!.OT BETUHN
14
lIM!!.OUl
I
I
I
I
TARCNl,
TAn,
CLA
JMS lAB
HE;TUEN
lAC=-0
-10
2 Ll0
VI
lAD TARCl\lT
TAD 1AB-2
St.... A
1~'!~)(ILL
JMP .-2
DCA TAReNT
1AD TAE-l
JMS TYPE.
151. TARCN1
Jt'1P .-3
JMP I TAB
15
I
I
I
I
I
I
I
I
I
I
I
I
I
r IBST wOHl..!
I}O
I
I
I
I
S6 (OCTAL)
o'"
o
o
I
M O\iF:"
Vl
TAD
I MOVE
DCA M OVt;-l
IS~ ,v. OVE
TAli I MOVl!.
DCA MOVE-2
157. MOVE
TAD MOVE-2
CMA
TAD M OVE.-l
SNA
JMP MOVRET
DCA MOVE-4
TAD :V10VE-l
CIA CLL
lAD I MOVE,
LCA M OVr~- 3
SlL
JMP .+3
lAC CML
TAr) MOVE-4
TAD MOVE-2
VCA MOVE-2
S~L
MVLOOP"
CLL
lAC
DCA
TAD
TAD
DCA
TAD
DCA
TAD
TAD
DCA
TAD
CMA hAL
MOVE-l
MOVE.-2
MOVE-3
MOVE-3
I MOVE-2
I MOVE-3
MOVE-2
M OVE-l
~..; OVl.- ~
.'1 avl!.- 3
IGET BE.GINADl.iHESS
ICALCULATE. WOhDCOUNT
T P OS I 1'1 V OE 7. En O?
IY 1':5" NOM OVE N EEDE.D
ISA VE '.11 OE DC OUN T
I lSI
ISI\Vl!. INChEMENT
ISET UP UUTPUTPOINll!..H
lAND SAVL
IGt;T A..JOFiD
lAND STOhl!.. IT IN lJE:STlNATION BLOCK
IINChEME~T
INPU1POINTEli
16
/J
:\lCrd-.~r.0JT
/ r, (;(lI N
.... OfiiJCOUNl'
I F N OT Z Ui 0
MOVRET,
I Sl ['lOVE
JMP I MOVr.
/S}~'i UP Er.l'Ufl'\IAl.ilJHfo.SS
/hL1 UhN
11
I
I
I
I
I
I
I
I
I
BINEND..
JM S LEA DEB
CLL
TAD <0010
JMS BINPUN
OBI GIN
FIRST LOC.
LAST LaC.
JMS PUNCHK
0
6201
100
300
BIN3 ..
EIN2 ...
0
DCA
SZL
JMP
TAD
TAD
DCA
TAD
TAD
JMS
TAD
I SZ
DCA
TAD
JMS
TAD
JMS
TAD
AND
JMS
TAD
DCA
I Sl
TAD
DCA
CDF'
TAD
JMS
CLMH CHl!.Cr{SUl-l
IFI ELL
TO PUNCH
o
BINPUN ..
!PUNCH LElWEH..
BINPUN-l
ISET UP DF IF LINK=0
BIN3
BI NPUN-l
BINPUN-4
RIN2
BI NPUN-l
BINPUN-2
TYPE
I BINPUN
BINPUN
BINPUN-l
BI NPUN-l
BINLH
EI NPIJ.'J- 3
RINCHK
RINPUN-1
BINLH-l
BINCHK
I BINPUN
BINPUN-l
BINPUN
I PINPUN
BINEND
0
I BINPUN-l.
BINLH
/MAKE CDF
IMAKE FIELD SETT. AND PUNCH
IN OT1o.:! ~ I ELD SETl. NOl IN CHECKSU,'1!!
IGET
ORI GIN
IGET 1o.:ND
10VEHLAIL BY CDF
IGET DATA
IPUNCH LEFT HALF
18
ST~ANG1o.:
FIELD
JMS I3I::\lCHK
lAD I BI NPU:.J-l
AND BINLH-l
JMS BINCHK
TAD 131 NE;ND
CIA
CLL
TAD RINPU~-l
ISZ DINPUN-l
SNL CLA
Jl'-lP BIN2+1
RIF
TAD BI NPUN- Lj
DCA .+1
CDf" /21
ISZ BINPUN
JMP I BINPUl'J
SPA CLA
IGET
LEFT HALF
O~
Il::'-.[\jjj HEACHl!.L?
IOVEBLAljj
THE; AC
11
BINLH,
QI
RTR
RTH
RTH
AND BINLH-' 1
JMP I BINLH
IUPDATE THE CHl!;CKSUt'1,
QI
RINCHK,
/21
DCA
TAD
TAD
DCA
TAll
JMS
JMP
13INLH
BINLH
BINCHK~1
IUPDo
CHKSM
I31NCHK-l
BINLH
lYPE
I BINCHK
on
IUS!!. CHKSM AS
CLEAR CHECKSU(1
NEG
COU~T
IhEALJY?
INO
IYl::'-.S
QI
TAD
JMS
JMS
TAD
AND
JMS
JMS
JMP
BINCHK-l
DINLH
TYPE
IGET CHECKSUM
BINCHK-l
BINLH-l
TYPl:,
LEADHi
I PUNCHK
ICLl';AFS CHF.CKSlJL'1
19
J~S
PRME.SG
l'1ESG
HE. TUEN
IAC=0
IMESGI
TEXT
'ABC82'
ICODE.D AS 0102;0370;6200
77
ItvlASK
ITO TEST
ITO l\lAKE ASCI I
ITO MAKE ASCI I
IPACKSWI TCH 0=LEFn 7777=R
IPOINTEE
-40
240
100
'"
f.~
PHMESGI
PHM11
0
CIVlA
TAD
DCA
I SZ
CMA
DCA
I SZ
TAD
15AVE P OI NT ER ( - 1 )
I PFiMESG
PHMESG-l
PHME;SG
I}'OE RETUHN
PBMESG-2
PRMESG-l
I PRMESG-l
IPACKSW=RI GHT
INEXT WOHD
IFETCH AND ROTATE 6
PRMESG-6
IMASK 6 BITS
I PBMESG
PRMESG-5
PRMESG-3
PRMESG-4
PRINT
PRMESG-2
PRMI
I PRMESG-l
PRM2
/YES ASCII
IN 01 ASCI I
HTH
HTR
PRM21
HTH
AND
SNA
JMP
TAD
SPA
TAD
TAD
JMS
I SZ
JMP
TAD
JMP
301-337
240-277
ILEJ'T OR RI GHT?
IL E}oT
lId GHT
20
If1}}
Gf.~\lbEt\L EI\A:-;CE FOlJ1l.\J~
IEFiANCH hOUTI:>Jr. nhANCHl-;S l\CCOFDING TO THE CONTE.NTS
10F THl-. AC, COi'lPAfd~.L TO .t.ACH ITEM m. A LIST.
IEXIT JoRO("l BRANCH IS ALw{\.yS itJITH AC=0
I
I
I
I
TAD AC
JMS BRANCH
LIST-l
RETURN IF NOT IN LISl
(I\C=0)
ILIST,
21?
I
I
I
LI'
215
IVJ
lAC
IHhA;\lCH POI l'.Jlfo.H
>Vl<NTER IliITH AI~Gur>ljENl
BRANCH,
BHANC,
CH;~TC;EIC
0
0
DCA
TAD
1 SZ
DCA
1 SZ
TAD
SNA
"CHAH"~212,PROGRAM
III'
flFlt\NCH- 2
I Bl~ANCH
BBANCH
BRANCH-1
BHANCH=l
I BRANCH~l
JMP I BRANCH
CIA
TAD BHANCH-2
I Sz. BEANCH-l
SZA CLA
JMP BEANC
TAD I Br{ANCrl~ 1
DCA BBANCH
JMP I BRANCH
JUMPS TO "Ll'''
o.Q
IS LIST TH1MIl\lATOk!!!!!!
IN "CHAft"
21
/~12
CHEC~
/
/
/
/
/
I~
OCTAL
CH~C'<S
/POUTINE
wHt.,TH~E
Hit. !'Ie
TAD CHAE.t\CTH
JMS OCTCHK
NOT OCTAL EETIIL,\j
OCTAL EETUF\N
IS
~.\l
/AC=!1
/AC=["
10
-27(1
OCTCHK,
(7)
TAD OCTCHK-l
SMA
JMP OC12
TAD OCTCHK-2
SPA CLA
~JMP I
OCTCHK
I S7. OCTCHK
CLA
jMP I OCTCHK
22
l)CT{\L Ll1.11"1.
/AND U1ASKDJG)
/
/
=
TAD A
AND B
IINCLUSIVE OR
/SETS BITS B IN A
I
A 101 c)
B 1HHJ)
= 111121
TAD A
Cl't.A
AND B
TAD A
/CLtAH BITS B IN A
I
I
A Hll 0
B 1100
= 0010
TAD B
CMA
AND A
A 1010
B 110CJ)
= 0001
INOR
I
I
TAD
CMA
DCA
TAD
CMA
AND
A
TEM
B
TEM
INAND
I
I
TAD A
AND B
CMA
IEXCLUSI VE OR
I
I
TAD
AND
CMA
DCA
TAll
AND
A 110110
B 1100
= o1 1 1
A 1010
D 1100
= 0110
A
B
TEM
A
TEM
TAD B
ANI; TEM
23
.'\c.
OPTMl"
OPTION"
7 711
-11.',
7642
eJ
7642
1-12 ( 10)
IPOINTEH
ITEMP. S T OHA GE.
ICOUNTMi" ALSO POINTEH
IENT!!.H \vITH POSITION IN AC
(21
DCA
TAD
DCA
TAD
TAD
I SZ
SMA
JMP
TAD
DCA
CLL
RAL
ISZ
OPTION-2
OPTION-3
OPTION-l
OPT! o.'J-2
OPTION-4
OPTIO:.J-l
SZA
.- 3
OPTMI
OPTION-2
CML
IHESTOHE COUNTER
ISUBTHACT 12 TO jo'INlJ WORD
II"OH L AND X
ISAVE HEMAINDl-..R t-10DULO
12
OPTIOO-2
JMP .-2
CDF
AND
CDF
SZA
ISZ
JMP
10
I OPTION-1
lAND WITH
0
CLA
oPTIo."\I
I OPTION
24
IAC=0
IT 0 MA K E. A SCI 1
110 DE.CIMAL
ITEMP STOHA GE
IC OU~\J T E.R
260
-12
0
{I)
PRNT2"
TI10 vIGITS
{I)
DCA
TAD
TAD
SPA
JMP
I SZ
JMP
CLA
TAD
TAD
JMS
TAD
TAD
JMS
DCA
JMP
PRNT2-2
PBNT2-2
PRNT2-3
IThY
.+3
PRNT2-1
PRNT2+ 1
ISUBTRACT FURTHER
PRNT2-1
PHNT2-4
PHINl
IPHll'lT HI GH
OfWER DI Gl T
PRN1'2~2
pnNT2~4
PEI:-JT
PhNT2-1
I PRNT2
Ih~S~T
COUNTER
25
7
17
DATM"
37
257
ISLASH
170 YEAHS
ISTOHAGE
IDATE LOC.
106
7666
DATE"
IN
OS8
CDF 10
TAD
CDF"
DCA
TAD
CLL
RTL
RAL
AND
JMS
TAD
JMS
TAD
RTR
RAR
AND
JMS
TAD
JMS
TAD
AND
TAD
JMS
JMP
/PICK TH E DATE
DATE-1
DATE-2
DATE-2
HTL
DATM+1
PHNT2
DATE-4
PRINT
DATE-2
OUT
lAND (1 7
/PRINT SLASH
ISLASH
INOW THE YEAH
1+70
26
PRNTFM..
TAD VALUE
JMS PRNTF
RETURN
hYlASKS
31
117
/pun
ODe
ISTOHAGE
256
{i'l
PBNTF..
IAC=0
0
DCA
TAD
CLL
RTL
BTL
AND
JMS
TAD
JMS
TAD
AN D
Jl"1S
JMP
PHNTF-l
PRNTF-l
RTL
PRNTFM
PRNT2
PRNTF-2
lAND {3 7
PRINT
PRN'I'F-l
PEN TFM+ 1
PRNT2
I PHNTF
INa,,} L ON
ORDER
27
1-100(10)
763LJ
o
o
PHNl'LJ"
ISTORAGE; AND L
IH I GH
O~
OHD)!;R
ORDER C OUNT~R
0
DCA
CLL
TAD
TAD
SNL
JMP
I SZ
JMP
CLA
TAD
JMS
lOAD
JMS
DCA
JMP
PRNT4-2
PRNT4-2
PRNT4-3
.+3
PHNT4-1
PRNT4+1
PRNT4-1
PHNT2
PHN"T4-2
PRNT2
PRNT4-1
I PRNT4
IPHINT HI GH
OEDER DI GI TS
COUNTER
28
FLO"l\l:-ilL,
I
/
ICALL
: JMS Dl-:C I NP
JITH NUMBER BINARY IN AC
E~TUhN
I
/
/
LECINP,O
CLA
DCA
JMS
TAD
Jf{lS
TAD
TAD
SNA
JMP
TAD
TAD
SPA
JMP
TAD
SMA
JMP
TAD
CLL
DCA
TAD
RTL
TAD
TAD
lAD
DCA
JMP
DECN U;v1
HEAD
CHA.H
PHINT
CHAFi
tv13 7 7
CLA
DECINP+l
CHAR
M260
DEC OUT
M12
CLA
DECOUT
DECNUM
HAL
DECH1P
DECTMP
DE:CTMP
CHAR
M260
lJ E: C N 0["1
DE:CINp+ 3
ICHAR>=260 ?
INO,CHARACTER IS DELI[VlE:TEH
/YES
ICHAR<212?
INO,CHAH IS DELIMETER
IY E:S, CHA. HIS FIG Uh.I:;
INUMB*8
INUi1B*8+NUMD*2=NurvJD* 10
IADD LAST fIGURE
IDECIMAL NUMBER
IEXIT
IVARIABLES
I
DECNUM, QI
DECTMP,QI
I
IGE:NERAL C(}(\JSTANTS
["J12,
-12
-260
['12612"
M377,
OVER AGAIN
INO
-371
29
0
DCA DPRREG
TAD DPRINS
DCA DPRPTP
TAD M4
DCA DPflFAC
DCA DPRF'L
DCA DPRFIG
DPRSUB" CLL
TAD DPRR~G
DPRPTP" TAD DPRTEN
SNL
JMP .+4
DCA DPRREG
'ISZ DPRFI G
JMP DPRSUB
CLA CLL
TAD DPRfo'I G
SNA
JMP DPRZRO
DPRIN., T'AD C260
JMS PRINT
1 SZ DPRF'L
DPRINl"ISZ DPRPTP
ISZ DPRFAC
JMP DPRSUB-l
JMP 1 DPRT
DPRT"
ISAVE AC IN PRINTREG.
IGET INSTRUCTION
IP U1' 1 N S TR Oi'>,J POI NT l!;R
14 DIGITS
ICLEAR PRINT" Jo'LAG
ICLEAR VI GI T
IPICK UP SAVED AC
ISUBTRACT P OWER OF TEN
IHEMAINDER P O~I TI VE?
IN 0" PRINT VI GI T
!YES" SAVE REMAINDE.R
IDI GI T: DI GI T+ 1
IREPEAT SUBTRACTION
IGET DIGIT
IA ZERO?
IYES
IN 0, CONVERT TO ASCI I
IMAKE. NOT EQ UAL Vi
IMODI F'Y INSTR ON DPRPTP
IPRINTED 4 DIGITS?
IN 0, PRINT NEXT DI GI T
IYES, RETUHN
DPRREG,,0
DPRFL, 0
DPRINS, TAD DPRTEN
DPRFAC,,0
DPRF'I G, 0
1-1000
DPRTEN" 6030
7,634
1-100
1-10
7766
1-1
7777
I
IGENEHAL CONSTANTS
i'14,
- 4
C260,
260
30
"
IC(\LL:
I
I
I
I
I
I
Ji"lS DDE:CPii
:>105T SIG:-JIHCA\\I1 Pf'lHT
L~A5T SIG~I~ICANT PART
NU:. . mUt OF D1 G115 TO BE
PR1NT~D
<=8
H~ TWiN
[)DE.CPR .. 0
TAD
DCA
DCA
I SZ
TAD
DCA
IS:?:
TAD
DCA
I SZ
TAD
DCA.
TAD
DCA
TAD
DCA
DCA
DDSUB ..
DDl!:CP1,
ul)X
DDPD
DDeCPfl
I DD~CPH
DDX+ 1
DDECPH
I DVECPR
DDND1 G
DDECPH
DDATPL
DDPTPL
DDATPH
DDPTPH
M10
DDN1'AC
DDI G1 T
IA DIJEJ:!;SS
IP OI.\iTl!.H
IADDBESS
IPOINTER
RETURN
10-POWER
10-P OWeR
10-POWEH
10-POWER
LOW
L O'ill
HIGH
HI GH
IF'ACl'ORISE 8 VI GI TS
ICL!!.Ah lJI GI T
CLL
TAD DDX+ 1
TAl) I DDPIPL
DCA DDX+ 1
/L SIGNHIC PAH1
rL OvJ PART FA C '1' OB
1ST OEl!.
RAL
10Vl:.FiFLOW IN AC
1M 51 GN 11'1 C PART OF NU1B.
/HI GH I'-ACTOR
IHESUL T NcGA TI Vl!:?
/YES
1ST ORE RESULT OF SUBTF:ACTI ON
IN 0.. STeF' UP DI GI T
ISUB1RACT 2-LENGTH AGAIN
ICLE.AR EEF'ORE CORRECTION
110-POvJER LOw
IMINUS
ICORRl:.CT LAST SUBTRACT! ON
TAD
TAD
SNL
JNP
DCA
ISZ
JMP
DDX
I DDPTPH
.+4
DDX
DDIGIT
DDSUB
CLA
TAD
CIA
TAD
DCA
TAD
SZA
JMP
TAD
SZA
JMP
lAC
TAD
SMA
JMP
TAD
TAD
SPA
JjYjP
TAD
JMP
VDPTPL
DDX+ 1
lJDX+ 1
DDI GI T
DDPDIN
VDPD
CLA
DDPDIN
DDNFAC
CLA
DDPDIN
DDNrAC
DDNDI (i
CLA
DDP 1I N
C240
DDI-PL
ISTOliE
IGET DI GI T
1=07
INO
IALREADY PHIN1El)?
/YES
IALL DI # Vel = 07
/Yl!;S
INEGI\TI VE VALUE.
/P OS I TI VE. VALUE
ISPACE 7
/YE;S
31
OF' Nur-1B.
ICONVl:.Ll TO ASCI I
IPRINT!DI Gl T
ISTEP UP POINTER LOW
ISlE? UP POINTER HIGH
IREADY FACTORI Z l!;?
INO, NEXT DI GI T
IE.XI1,
I
I
ICO!'JSTAN1S PUNCH
DDA TPL, DDTPL
DDA TPH, DDTPH
DDPTPL,0
DDPTPH,0
DDX,
OUT ROUTINE
13
DDNF'AC,0
DDIGIT,0
DDTPL,
4600
6700
LJ !jLH1
43613
60313
7634
7166
7111
DDTPH,
3166
7413
7747
7775
7777
7777
7771
1777
DDPD,
DDNDI G,
0
0
32
CLA
DCA OCT}1G
ICLL4R l-LAG l-IGUHE. PRINH,D
DCA OCTSPC
ICL~AR SPAC~-COUNTEn
TAD NUfVJBER
/CALL
: J'o1S OCTPHT
I WI TH NUi'1B~F I,\l AC
/
RETURN AC=v)
II F" NUi'1RE.H=0"
IOCTSPC=4, = H OF SPACES TO PRINT
I
IF NUMBER IS ZERO,OCTSPC=4 IS HSPACES TO PEINT
I
OCTPRT,
HAL
IHOTATlo: IN LINK
ITEMP. STOHAGlo:
DCA OCTTHP
/4 OCTADES
TAD M4
DCA OCTCNT
OCTPRfO, TAD OCTTMP
RAL
RTL
DCA OCTTMP
ISTORE. RESULT
TAD OCTTMP"
IGET IT BACK
AND C1
/MASK OCTADlo:
SNA CLA
IZERO ?
JMP OCTl.l';R
IYl!:S
TAD OCTSPC
/NO, SPACES TO PRINT?
SNA
JMP OCTNUi'i
INOa GO PRINT FIGURE
CIA
/YES" SET COUNTE.H
DCA OCTSPC
TAD C240
JMS PRINT
/PRINT THE SPACES
ISZ OCTSPC
JMP .-3
OCTNUM CLA lAC
ISET fo"LAG F'I G. PRI N TED
DCA OCTF"IG
TAD OCTTl'1P
AND C7
OCTfOPH, TAD C260
IMAKE THE 1'1 GURE
JMS PRINT
OCTPH! a I SZ OCTCNT
IHlo:ADY?
..IMP OCTPB0
INa
,-IMP I OCTPfiT
IYES, EXI T
I
OCTZlo:R" TAD OCTFI G
SZA CLA
IFIGURES PRINTED?
JMP OCTfOPR
/YES"PRI:-.JT THIS ZEfiO TOO
ISZ OCTSPC
INO COUNT AS SPACl!:
JMP OeTPH!
I
OCTTMP,0
OCTCNT,,0
OCTSPC,,0
OCTFIG,,0
'"
M4,
-4
C1,
C2/!0Jl
C260,
240
t.__
1
260
33
DOCTPR,0
CLA
DCA
DCA
TAD
I Sl
JMS
TAD
I SZ
JMS
TAD
CIA
SNA
JMP
lAC
DCA
lAD
Jl't1S
I SZ
Jl'1P
TAD
JMS
J,"1P
OCTF'I G
OCTSPC
I DOCTPR
DOCTPH
OCTPRT
I DOCTPR
DOCTPR
OCTPRT
OCTSPC
DOCTPR
OCISPC
C240
PRINT
OCTSPC
OCTAL
ISPACES TO PRI T?
IN 0, EXI T
/Y ES, N UMBER IS ZERO
IPEI NT SPACES
.-3
C260
PRINT
I DOCTPR
lAND A "0"
IEXIT
34
/O?Lj SU13POUTlt\lJ:;
ThAl\JSLA'(~.~;
Tl:.L~X
'ill /';.',(;I 1
/CALL
/
/
/
/WHO IS TRANSLATED AS
IS THANSLATAD AS
/BELL IS TRANSLATEI) AS ;
/1
TLXAS,
TLXMS,
TLXOUT,
{1
AND C31
/l"ASr(
DCA TLXTMP
TAD TLX TCYlP
SNA
JMP TLXOUT
TAD M2
SNA
JMP TLXCR
TAD M6
SNA
JMP TLXNL
TAD tv12 ~i
SNA
JMP TLXSWI
TAD MLJ
SNA CLA
JMP TLXSW0
TAD TLXT['1P
TAD TLXLA
DCA TLXTi>1P
TAD TLXSw
SZA CLA
JMP TLxRGT
TAD I TLXTMP
RTR
RTR
RTR
AND C77
TAD MLJ0
SPA
TAD C100
TAD C2LJ0
ISZ TLXAS
JMP I TLXAS
/TE(V1P.
5 81 TS
SlOH?1GE
/BLANi{
/CARB I A GE RETURN
/NEW LINE
/H I GH T S I 1) E
/GET ASCII 6 BIT
/MASK 6 Bl T
/CHAR<LJ0:300<=CHAR<=331
/CHAR>40:240<=CHAR<=~17
/N OHMAL RETURN
TLXRGT,
TAD I TLXTIV;P
JMP TLXl-1S
TLXSlvl,
TLXSW0,
lAC
DCA TLXSW
JMP I TLXAS
TLXCH,
TLXNL,
TAD C215
JMP lLxOUT
TAD C212
JriJP TLXOUT
lLXLA,
TLXLST,
TLXLST
0
35
~:Ij
C37,
MLJ(7),
6:)
3 '(
1 '171
40/10
1(336
165/)
1556
liJ
I'sY-'?\Cb
IE
IN
1M
IL
IE
IG
II
IF'
8
0
- iH?)
1451
?264
0135
1170
2060
0372
2675
0563
3253
0471
0252
2347
3166
0633
3057
01~5
C100,
1'1
2762
1273
100
2567
2161
1350
Ie
18
=
3
+
WHO=!,
1=*
IS
IY
IF
IX
If'IW
IJ
IV
IE
IZ
ID
III
2
BELL=;
10
7
1
IK
I
IVABIARLES
I
TLXTMP,0
TLXSW, (i)
I
IGENEHAL CONSTANTS
M2,
-2
-4
M4,
M6,
-6
M23,
-23
C71,
77
C212,
212
C215,
215
C240,
2LJVi
36
/C':-'S .ell i.
()iY]
I.
TC)
lLii'\J~,U\lJ::.
'HLrY
C[I!~L
TO {\SCI!
/Cf"LL:
I
Tl.>!'Sl
h}'lUE.'J I}O SH I I-T
rn:;TUE,'J
.J;vjS
C~!\h(\CTl-.H
TLXAS1,
0
AND TLX37
DCA
TAl'
TAD
Sl'JA
Jr1P
TAD
SNA
J['1P
TAD
TAD
TAD
DCA
TAD
I S2
JMP
TLXTi"lP
TLXTMP
TLXtYJ37
TLXLSH
CLJ
CLA
TLXFSH
TLXTlYl.P
TLXSH
TLXLST
TLX H'iF
I TLXTMP
TLXASI
I TLXASI
/STOHE
/LETTEhSH 1FT?
/YES, SET SHUT
/F I GUBESH 1FT?
/YES,
CL~AH
SHIfT
TLXLSH,
TLXFSH,
TAD TLXL!0
DCA TLXSH
..J.'v)P I TLXASI
TLXLST,
.+1
000~~
/BLANK
"5
(-J 21 5
"9
'CB
~)24'1
/SPACE
0000
tt,
It.
0212
/LF
If)
"4
0~H1~1
"8
"0
"3
"+
v1205
It?
"'
"6
It,
000(1
""2
/Fl'-.LL
TLXSH,
(J
"1
"1
37
tI(
/J(;)
000:?
"T
;:)215
ICE
til)
ISPACE
0P.12
ILl<
tiL
"R
"G
"I
lip
"C
"V
"E
liZ
ltD
"B
"S
tly
"F
tlx
"A
/J
tlJ
It
TLX31"
31
tlU
"Q
"K
TLXM3'1" -37
IVARIABLES
/
TLXTMP" 0
I
IGENERAL C(A\lSTANTS
/
C4"
38
/CALL
/
1 U Tt:L.l',X
:JMS ASTLX
RETURN
A~1S~T:=4
A~L
ASTRI
[j,
ASTPSH,
ASTOUT,
til
DCA ASTTMP
TAD ASTTMP
AND C7'1
SNA
JMP
TAD
DCA
TAD
'TAD
SMA
JMP
TAD
RTR
HTH
RTR
SKP
TAD
DCA
TAD
AND
SNA
JMP
AND
SZA
JMP
TAD
SZA
JMP
CLA
DCA
TAD
TAD
JMS
TAD
AND
JMS
JMP
ASTOUT+2
ASTLA
ASTHLP
ASTTMP
L'1300
CLA
ASTBIG
I ASTHLP
I ASTHLP
ASTTMP
ASTTMP
/TE.NP.
S TOEA GE
/i"1Af{J::. 6 PIT
/BLA.,\]r(=BLANK
ILl STADDHESS
/LISnH}JA~ESS
+ 6-81T CHAF
/TEl'1P.
51 ahA GE
C~/7
ASISHF,
TAD ASTSFT
SNA CLA
Jl"lP ASTOUT
JMP ASTPSH
(\ S TL A,
P.STLST,
A 5 TL 50 T
0000
/@
0030
IA
0(')23
18
39
c' C' 1 6
li,~
C C f~ ~~
62 ?,(';
0026
121 ~3
IL'
'~t30
5
13014
1032
fMj36
001 1
0207
0[1916
IH
II
0';('1(13
(WI 5
0035
10
0~Jl2
l ..nIO,
IF
IRf.LL,
INL,
IK
IL
leH,
["1
IN
IP
IQ
IE
IS
IT
IU
IV
{!H~ 24
91001
0034
(-jv)1 1
0031
(7)021
0!Z125
'1021
00(30
0000
0C~(H3
IJ
0000
0000
(II LJ~1 D
If
I ...
ISr'A CE
I
I"
\'10(:0)0
(1;100
/\oJ
IX
IY
IZ
I[
(j ~J (J Co,
1#
eOO0
I~
C1 C:1
lJ/;(J0
6/j91(-1
1%
1&
7600
:',1 {flO
C10 0 (J)
I(
(j (j
610(-)
I)
1*
1+
46(10
I,
1-
(a
I.
I
67\210
550(1
7500
7100
60(10
5200
LJ100
6500
7'-100
5400
L130(1
1(1
II
12
13
1'-1
15
16
17
18
19
000'~
I:
I;
(iW00
1<
5600
'\
It
70(ij(;)
L). ~{~l
40
5773
1=,
I>
0vJC!J0
6337
11,
~UBOUT=LETTEESHI.T
1
IVARIABL~;S
ASl'Sf'T,,0
ASTTMP,,0
ASTHLP" 0
1
IGENEEAL CONSTANTS
I
C33"
C37,
33
37
C40"
40
C7 7"
77
M30Q'l"
-30(01
41
r E}1
I
ICHABACTEh HANDLE-Ii
I
ICALL
I
I
I
BUI'INP"
(1
DCA
TAD
SNA
JMP
TAD
CIA
TAD
SNA
JMP
BUI'PU1",,> TAD
BUFTMP
BU1'IBO
STOEA GE
CLA
BllF'PUT
BUFIPT
/YES
BUf'oP T
CLA
IlNPTR
RUl'INP+2
BUI-'TMP
DCA I BUl'IPT
ISZ BUF'IPT
TAD BllF'BUS
SNA CLA
6046
lAC
DCA BUF'BUS
TAD BUfe'IPT
TAD BUF'BND
SZA CLA
JMP I BUI<' I NP
TAD BUF'ADH
DCA BUF'IPT
lAC
ITEMP.
DCA BUF"I B a
Jl'1P I BUnN?
OUTPBT
/F'hINTEE BUSY?
INO,INIT WITH AC=0
IYES, SET PRINTER BUSY
INa, EXI T
IY 1:',S" P ODnEH TO HEAD
42
BUFGET ..
TAD I BUFO?T
IGE1 CHAR
I SZ BUFOpT
6044
IPRINl CHAR
CLA
TAD BUFOPT
TAD BUFBND
IF.;ND OF Bun'ER?
SZA CLA
JMP EXIT
/l'JO, END OF HOUlINE
IYS,POINTER TO HEAD
TAD BUFADR
DCA RUFOPT
DCA 8UFI80
IRESET INPTR BEHIND OUTPTR
JMP EXIT
lEND OF HANlJL I N G
IGENERAL
EXI T,
CLA CLL
TAD LINK
HAL
TAD ACCU
ION
I
JMP I "
IVARIABLES
BUFTMP,0
BUFI BO.. 0
BUFIPT, ""
BUFOPT,0
BUF'BUS,0
BUFBND, -BUFEND
BUFADR .. RUFFER
BUFFER .. 0
I
I
I
I
IRES TOnE LI NK
IRES TORE ACCU
IINTERRUPT U\l
*RUF'FER+200
BUFEND, ""
43
44
A~IJ
D C400
SZA CLA
JtvJp DC IE DR
JNP DC TCN T
DCTFF'.oJ,
DTEA
AND C4C'"
SNA CLA
.JMP DCTRDE
Jf'lP DC TCN T
/1 S FOFl't11ARD,
/1 S hEVEHSE,
/
/
DCTPDF:,
1 SZ DCTAP~
TAD 1 DCTAPE
DCA I DC T 'llC
ISZ DCTAPE
TAD I DCTAPE
DCA I DCTCA
TAD DCTCOD
DTLB
TAD DClCOD
BAR
SZL CLA
TAD C:?0
TAD C130
/-# WORDS
/$T WORD COUNT
/C OHE ADDPESS-l
/$ET CURRENT ADDRESS
/L OA D F I EL D BIT S
/HUiD on
hJBI Ti'.;
wnI TE?
/vlEI TE
DTXA
DTSF DTEn
Ji'1P
ISZ
SMA
I SZ
TAD
RTR
5\1.
JI<P
.-1
DCTAPE
CLI\
DCTAP E
DClCOD
CLA
+3
TAL I nCTAPE.
DCA DCTAPE
DTEt\
AND C2(10
TAD C~
DTXA
Ji'1P I DCTAP
/P,DVANCE TO EEnOhfiElUHN
/SKIP IF EhHOfi
/;:.J OIMAL RETUHN
/DIHECT OR INDIEECI?
/DIRECT
/1NDlh~CT,
PREPARE
/(:;0 DI T
/P h S EE VE uni OE FLA G
/STOP TAPI.-.
/ Ii t:A IN ,
EX I T
UCTTE,\J,
DTXI\
DTSF DTEn
JMP .-1
SPA
CLA
JMP
DC Tlmll
DC 1 Elln,
B lL
HAL
CLI\ C(-;L
[:\lL
TAD CL!(!W
J:V1P
DC T c.\j 1- 1
45
IVAPIABLE.S
/
DCTCOD,!2)
DCHJe, 7754
DCTCA, 7755
/
IGENEHAL COr>JSTANTS
I
C2,
C1 0,
2
10
C20,
C130,
C200,
20
130
200
C40""
C 7 40(1,
.4k10
7400
46
I
I
IC.ALL
/
/
I
I
OJ)
222233333333
:JMS PACK
ADDRESS INPUTEl lWl'l'l:
ADDHESS OUTPllTI::',lJFfoE.E
EETURN
1~
ANL 11
PACK,
TAD
STL
DCA
oCLA
TAD
DCA
I SZ
CIlA
TAD
DCA
ISZ
PCKL OP, TAD
CLL
RTL
DCA
TAD
RTR
RTR
DCA
TAD
AND
TAD
DCA
TAD
nAR
AND
TAD
DCA
I SZ
JMP
JMP
PCKBFL
}AF
PCKCNT
CMA
I PACK
/- RUl'FEFLEN GTH
IIjEVl1) BY 2
/-1
/lH)DRJ:.SS INPUTBUl<FtJ-?
10
PACK
/-1
I PACK
11
PACt{
I 10
HTL
/ADVEl';5S
OUPUTBUFFER
/G}:;T CHAR
PCKTMP
I 110
/T Elv.P S T onA GE
Ii\) EX 1 CHAR
PCKTPI
PCKTPl
C17
PCKTMP
I 11
peKT?l
C7400
I 10
I 11
PCKCNT
PCKLOP
I PACK
/0;EXT CHAR
/SEC O\V WOf1D
IBUF l'EB FULL ?
/L\J(J,PACK NEXT
/Y fJ5, EX IT
/VARIABLES
/
PCKCNT,0
PCKTMP,0
PCKTP1,0
PCKRFL, -200
/
/GENEHAL C O!\ISTANTS
C17,
C74'~0,
OUTP U1RUFF EE
17
7/H~0
47
\C!~
('j;~, '; )
/PACKED:lll11111?~~~
/
/
22~233333333
/CALL
/
/
I
/
IINITIALIZE CE PCKS01':=0
/
/
/
PCKSGL,
0
I S'~
JMS
DCA
151':
ISZ
JMP
JMS
TAD
I S7.
PCKS \VT
PGKINI
I PCKEP
PCKRP
PCKECT
PCKNRM
PCKHES
I PCKEP
PCt-rEP
CLL RTL
RTL
DCA I PCKPTH
TAD I PCKRP
ISZ PCKRP
HIli
HTFi
DCA PCKS~IT
TAD PCKS~JT
AND C17
TAD I PCKPTE
DCA I PCKPTB
ISZ PCKPTR
TAD PCKSWT
RAH
AND C7400
TAD I PCKRP
DCA I PCKPTH
IS? PCKP1'P
JMS PCKHE.S
I SZ PCKCNT
JMP PCKNRC'-l
DCA PCKSWT
JMP PCKMlD
/PH TIP,LIlE?
/'{j~5
/TEMP' STORA GE
/GET SEC O,\JD CHAR
/l'ENP. STORAGE
/M OS T SIGN. 4 BIT 5
/FIRST WOHD
,/
/
PCKNHM,
PCKEND,
CMA
DCA
ISZ
I Sl
Jt"lP
PCKSloJT
PCKSGL
PCKSGL
I PCKSGL
/St,T S wI TCH
I
PCKINI,
0
DCA. PCKSWT
/TEMP S1 OBA GE
48
BUF
TAD I PC'-'<5C;!J
DCA PCKPTH
TAD PCKIlH,
STL EAR
/BUt}:ERSIlE DEVIDED DY 2
DCA PCKCNT
TA j) PCKS fllT
Jt1P I P CK HJI
1
1
PCKEES,
'"
TAD M3
DC.~ PCi{ECT
TAD PCKEPA
DCA PCt{FP
,)i"1P I pc~ni ~S
1
1
IVAEIABLF:S
1
PCKSvJT,0
PC;{PTf?, to
PCKEP, (()
PC:<ECT,D
PCKCNT,O
PCKRBA,PCKRB
PCKB!'L, - '100
PCKfm, (II
(I)
1
IGEl\lEHAL COi\JSTANTS
M3,
-3
C17,
C7 / 1(,,0,
17
7400
49
1222233333333
I
:JMS DSOUT WITH CHAR IN AC
ICALL
RETURN BUFFER F'ULL
I
I
RE;TURN NORMAL
I
IINITIALIZE Ol'JCE DSPTR TO Bm'F1:,HADDRESS
lAND DSCNT:=DSBFL DEVIDED BY 2
I
BSW=7002
DSBUF=400
I
I
DSOUT"
LiSSEC"
0
DCA
RAR
DCA
TAD
eLL
SNL
Jt1P
SNL
JMP
TAD
TAD
DCA
DCA
I SZ
I SZ
JMP
TAD
DCA
TAD
STL
DCA
TAD
CLL
JMP
TAD
CLL
DSTMP
ITEMP.
DSLNK
DSCNTW
RTR
SMA CLA
DSFRST
ISAVE LINK
IFI HS T" SEC Ot\lD OR THIED CtIAH
DSSEC
DSTMP
I DSPTH
I DSPTH
DSCNTW
DSPTH
DSCNT
DSEX3
DSBFA
DSPTR
DSBFL
RAR
DSCNT
DSLNK
RAL
1 DSOUT
DSTMP
BTL
BSW
DSI"RST"
AND
TAD
DCA
ISZ
TAD
AND
BSW
CLL
DCA
JMP
TAD
eLL
RTL
STORAGE
IFIRST CHAR
OF
OF' THhc;E
/PUT IN RUFFER
IHJ::SJ::T CHAH. C OUi'JT
IBUFJo Eli FULL ?
INa" EXIT
IY 1:,5" RESET POINTE:H
1- BUFFEHL EN GTH
IDEVIDE BY 2
IRESTORE LINK
IEXIT
BUFF~R
l"ULL
IBYTE SWAP
C77
I DSPTH
I DSPTR
DSPTH
DSTMP
C17
BTL
I DSPTR
DSEX2
DSTMP
RTL
DCA I DSPTH
DSEX2"
DSEX3"
ISZ DSCNTW
TAD DSLNK
THrll~.~
IHESTOH.E LINK
50
eLL :C,;\[.
I 51; U~: OtT!"
~L'lP
I LiS OUT
/
I UA I I I\PL ES
I
DSBFL, -4(::lv)
LSPfoP"
I;SLNi{,
LSBUF
0.
DSTMP, 0
USCNHJ,0
LSCNT, 0
DSPTR, f)
I
IGENEBAL C O:JSTANTS
C17,
17
C77,
77
51
222233333333
ICALL
: ..J'1S UNPACK
ADDRESS Ofo' INPUTBUFFEE
ADDRESS OF OUTPUTBU~ER
RETURN
I
I
I
I
UNPACK"
TAD
STL
DCA
TAD
DCA
ISZ
CLA
TAD
DCA
I SZ
UNPLOP" TAD
ETR
RTR
AND
DCA
TAD
CLL
BTL
AND
DCA
I SZ
TAD
CLL
RTL
RTL
AND
TAD
DCA
TAD
AND
DCA
15:7.
I SZ
JMP
JMP
UNPBFL
RAR
UNPCNT
I UNPACK
UNPPTE
UNPACK
CMA
I UNPACK
1 Ql
UNPACK
I UNPPTH
C377
I 1 Ql
I UNPPTE
RTL
C36Ql
UNPTMP
UNPPTR
I UNPPTR
RAL
C17
UNPTMP
I 10
I UNPPTR
C377
I 10
UNPPTR
UNPCNT
UNPLOP
I UNPACK
I-BUFFEHLENGTH INPUTBUFF'ER
IDl:!:VIDl:!: BY 2
IADDRESS
INPUTBU~'F'Ut
I-I
IADDRESS OUTPUTBUFFER
IFIRST CHAR
/PICK UP CHAR AGAIN
ITEMP.
S T ORA GE
ITHIHD CHAR
IHEADY ?
IN 0" CONTINUE
IYE.S" EXI T
IVARIABLES
I
UNPPTR,,0
UNPTMP" 0
UNPCNT" 0
UNPBF'L" - 400
I
IGENERAL CONSTANTS
C17"
17
C36~'"
360
C377"
377
52
1?)3/~
SUEh~1
U\JP[\Ch~,
JTJ
/PLlCK.t:U TEL!',,',
Cl!~l:r\CTUS
C':('l[;Cll',l~
lY
1),\:'
L.JO:JOl;L::
L"
O,'J}O, (TSSb>
H1Ll/j(\T)
(lS58
/PACK~D:l11111112222
?22233333333
/CALL
: J;1 S
U,\jP S GL
INPUTRUFFEE
RETUHN DUFFEE E~PTY
I
/
ADDP~SS
AC=0
I
lIN! TIALIZE O:\JCE UNPhRF: =ONPBEF: =UNPCNT: =0
I
/
UNPSGL,
0
CLA
TAD
57.A
Ji'1P
TAD
S?A
JMP
TAD
SNA
Jr1S
TAD
CLL
UNPRBF
CU\
UNPG.t:T
IT El'H'; e BUFfER
IY ES, Gr..T O['J E
UNPB~r
IN 0,
CLA
UNP E;"jp
UNPCNT
CLA
UNPINI
UNPRRA
DCA UNPRP
TA D I IDlPP TE
IN
I NPUTBUf'H:E FJ'1P TY
IN E)<:T
rn}:
BTE
AND C377
DCA I m.JPBP
I SZ U,'JPEP
TAD I UNPPTE
CLL HTL
FiTL
AND C360
DCA I l[\]PRP
157. U,\]PPTE
TAD I u:\Jppn:
BUF
WOLD AGAIN
/TEl'1P.
STOEA GE;
CLL EAL
HTL
ElL
AND C17
TAD I UNPLP
DCl\ I lJ.JPf;P
I Sl UNPE:TAD I Ui\lPPTh
I SZ UN?PT},'
ITHA T WOR D A GA I N
AND C377
DCA I UN?};P
lAD UNPFPA
DCA UNPliP
CLA CE.L Ct1A HTL
DCA, l!l'JPfiC T
I SZ U[\]PCNT
JiVlP TJ[\lPGbT
lAC
UNPGET,
DCA U0.1pr;EF
I S7, l![')PTiCT
lAC
BUr
1~3
53
UNPEMT,
DCA UNPU1F
TAD I WJPFF
I SZ UNPT\P
I SZ UNPSGL
I SZ UNPSGL
JMP I Ui'JPSGL
/'{i:..S rn.SE1
Hi 1:. 1
FLf~G
CHAF
UNPI!:MP,
DCA Ut'JPBl':F'
/Hr.SE1
JMP UNPEMT
/AND t..c'lP1Y
l'LA G
BUf'F'l'~n
RE1URN
UNPINI,
0
DCA
TAD
DCA
TAD
STL
DCA
UNPRBl"
I lJi',iPSGL
UNPPTEUNPBFL
RAR
UNPCNT
IHESET l<LA G
/ADDtn;sS INPUTBUFri:o:E
/-Ll'~NG1H
OF BUHEE
/DI VIDE BY 2
JMP I UNPINI
/
/VARIABLES
UNPBFL, -400'
UNPSNT,0
UNPRCT,0
UNPRP, 0
UNPPTR,0
UNPRBF,0
UNPBEF,0
UNPRBA, UNPRB
UNPRB, '"
"
/GENERAL C~~STANTS
C17,
C360,
C317,
17
360
377
54
ICALL
:JMS RDNAME,
wORD 1 .. 2 CHAR'S FEO['1 ~\lAt,1}<; IN EXCESS-LH1 com;
I
WORD 2 .. 2 CHAR'S foliO'; Nt'll';}>:
I
wOHD 3 .. 2 CHAR' S I-EOf', ,\lA:Vl~:
IERROR RETURN
IN ORMAL RETURN
8S"[=7002
BUFADH=400
I
I
RDNAME..
HDIN..
0
TAD
DCA
DCA
JMS
DCA
TAD
TAD
SNA
JMP
TAD
SNA
JMP
TAD
SNA
JMP
TAD
SPA
JMP
TAD
DCA
I SZ
ISZ
JMP
JMP
RDNMBF'
RDPTR
RDCNT
READ
RDCHAH
RDCHAR
ROMRO
IADDRESS ASCII
BUFFER
IHUBOUT
RDROS
RDMCRN
/yES.. TO SERVI CE
IN 0.. CARRIA GE RETURN
RDTWNR
RDMLFD
/yES .. TO SEHVICE
/NO, LINE FEED
RDTWNR
RDMSPE
SNA CLA
RDFTNM
RDCHAR
I RDPTR
RDCNT
RDPTR
BDIN
RDFTNM
ICHAR. COUNTER
InEAD CHAR FR 0'1 KEYB.
IN 0, EBR ORRETURN
/YES .. I N BUFFER
1+# CHAR'S
INEXT CHAR
14K BUF'FER F'ULL .. ERROR
RDROS..
TAD BDCNT
SNA CLA
JMP BDIN
CMA
TAD
. DCA
CMA
TAD
DCA
TAD
JMS
Jr>1p
RDCNT
RDCNT
lAND POINTER BACK 1
RDPTR
RDPTH
I RDPTR
PRINT
RPIN
lEND Ro-SERVICE
CRLF"
/PRINT eR LF
RDTWNR ..
JMS.
TAD
SNA
JMP
TAD
fWCNT
RPFTNM
ME)
55
$rjA
CLA
TAD
CIA
DCA
TAD
DCA
TAD
DCA
TAD
DCA
DCA
DCA
TAD
TAD
AND
BS'.v
DCA
152
I5Z
SKP
15IX
:"::j/.I~
J!V1P
RDNlVlOK ..
RDFTNM ..
ISl
15Z
15Z
I SZ
JMF
L1:S~
RDCNT
R[Jl\li'1PF
1-# CHAFf'S
IBllFFEH ALDPESS
RDPTH
EDNAl'l~;
RDTi'1P
RDTMP
10
I
I
10
U9
I EDPTH
C2LJ0
C77
ICLEAfi BUFfo EB
IMAKE. E.XCESS-40 COVE
I FDTlVlP
hDPTfi
FlDCNT
I EDPTB
C2LJ0
C77
I RIJTMF
I EDTMPRDH-1P
flDPTR
PDCNT
BDNXT
EDNA,VlE
HJ))JAM E
rW'JAME
RDNAME
I RDf\lAl'IE
INE.XT CHAR' 5
li\J OW1AL U:. T UR)J
IEXI T
I
I
IVAPIABLES
I
RDNf'l:BF.. BUFADH
IADDHESS BUrrEl!
RDPTR .. 0
RDC~T .. (3
RDCHAR .. 2!
PDT;V::P .. C'
F n-1no .. - 3 77
Eljlf;CRN .. 377-:?1 5
F D;YiL I'D.. :?l 5- Pl ~J,
, B iX'iSP E.. ? 12- PLl(;)
I
IGENEF.AL CON!:)W\NTS
l'-16..
C6..
- 6
6
C77..
C24C;h
24C;)
CHI-\h'~
:f,AKE IT SIx
C6
JMF HDNMOK
TAD
TAD
AND
TAD
DCA
ISr.
152
157.
UL
1:'~OEl';,n-lAl\J
77
56
NAl\~E
IN
Di\l-BLOCKS (DIS:-\.MON.)
ICALL
: ... ]tYJ$
I
I
/
/
/
NA
H1Sl T',.1O CHAf, S UJ EXCESS-iJ((1 6 BIT
t11o;
U\S1
"
"
"
RETURN NA[\1E NOT FOUND
AC=0
R1o;TURN NAM r.; fOUND
AC=INT. f'ILE NR
DNSFC
..
IS UBR OUT! N r.; USES AUTO INDEX 11 AND MONI TOR DI SK HANDLER
/
BUF'FEH;;i100
/
DNSRC,
DNSBLK,
DNSNXT,
(/1
TAD C177
1# .IRST UN-BLOCK
JMS DNSEBK
IHEAD BLOCK
TAD
CIA
DCA
I SZ
TAD
CIA
DCA
15l
CLA
TAD
DCA
TAD
DCA
TAD
TAD
SZA
UNSEe
DNSl'1NA
DNSRC
I DNSRC
T ',.;0 CHAR'S
OF NAt-iE
1- Lf'lST CHAR'S
DNSMMF:
DNSRC
eLL IAC'HAL 1+2
DNSBFA
IBUFFEE 1\ DDHESS
11
M31
Dt'VSCNT
I 11
rh'JS,'v1NA
CLA
JMP DNSl'J aT
DNSERH,
1-
TAD I 1 1
TAD DNSMME
SZA CLA
JMP DNSNTl
15Z 1 1
I SZ; 1 1
TAD I 1 1
AND C7
I SZ DNSHC
JMP I DNSEe
1#
ENTHIES IN
CX\JE BLOCK
Th\1SNOT,
DN5NTl,
CLA
TAD
TAD
DCA
I S2
lAC
C3
11
11
DNSCNT
JMP [lNS"1XT
TAD DNSLNK
SNA
JMP DNSERR
...1\'1; S DNSRRK
JMP
l)i~SBLi{
DNSRm{,
(/1
DCA FSTBLF..
lAD C3
57
FOE
It
DCA HJ;'J C T I
'LCi D lJ.:\iSRFA
DCA BUrt-IDE
J,V; S
rUi\JCTI,
(7,
FSTBLK,0
PUFADP, r1
DN SLN;{, (21
HLT
JMP I
DNSRD:<
/Vf\HIABLE;S
I
SYSIO,
76Ll?
L>NSMNA,
DN Sl'1rvn;,
L>N SCt\JT,
L>NSBFA,
I
f,}
(ij
BUF FIo;H
IGENERAL CONSTANTS
C3,
C7,
C177,
M31,
3
7
177
-31
58
RES~RVES
IT FOE
FIL~
RLOC~\
ICALLING:JMS SAM~IL
~IIH INT. FILS NB IN AC
I
RETURN DI SK l<:ULL
I
HETUF:N l\l OnMAL:lI TE BL OCKNE IN AC
I
I
SAMFIL"
DCA SAMSAV
SAMSF?C
JtYlP I SAMl'I L
CLA CMt'r
TAD 10
DCA 10
TAD SA.MMSK
TAD M77
SNA CLA
JMP SAMRGT
TAD SAMSAV
CLL RTL
RTL
RTL
DCA SAMSAV
JMP .+3
SAt-mGT" TAD I 10
TAD SAMSAV
DCA SAMSAV
CMA
TAD 10
DCA 10
TAD SAMSAV
DCA I 10
TAD C5
DCA F'UNCTI
TAD SAMBli'A
DCA BUfo'AvR
JMS SAMRDB
ISZ SAMF'IL
TAD SA14BKN
..JMP I SAt'1F'IL
~JMS
HALF IS MASK
ILEFT OR HI GHT?
IMASK IS 00 HI GHT HALF
/PUT INT FILE #
IP UT IN BUFr'Eh
IRESTORE SAl"!
Q'l
IGET BL OCKNH
IllETUHN
I
/
,~
/GENERAL CONSTANTS
I
M77"
-11
C5"
LE}O~T
/VARIABLES
SAM$AV"
ON
59
liI SK
HALF
1):3:'';
lIN
(uISKl"iUi\j)
::UELuUTT.~E
~J\:"HLU(><S
ICALL
:JMS
I
I
I
SAMS~C
nETUfC\l ,'JE
INT. FILE # IN Ae
~IT~
}:.oUL~lJ,AC=#
U~ULX
AC=CJ
DI S((
HAN1LEE
LCA
Tf~
r.:
S!'>.l'~ I
SA[''lI
TO SEAhCH rOh
fILE #
}l\]
lIe\iT
}<,\j
I~AK~
IT
T~O
IN
O~~
WaHl)
CU. ETL
HTL
ETL
Tl\D SAY, I V\l
LCI'l.
[,CA
SAMEBK,
5A:'1 I h\l
SA~Va)Kl\l
TA D C?,li(/j
DCA BLKNR
lAD C3
DCA
Ie au;\) 1 ~1
1<
Of, PL OCi{;" h
1# }IhST SAMDLOCK
FtL\lCTI
TA 1.) SA['o1PFA
SAt-'lSb
DCA
J[V; S
TAL
DCA
P til-A LF
SM'jf'DB
C77
SA:'l[i,SK
l,~ L} l~ ~ 0 0;
LCA S6.~.~ C,\J T
,JOE DS
CVj.()
Tl\D SA20.FfF\
LiCf)
S0.E\!X T,
1!'1
S;{P
I S.7, S.f\l'lR:{['Il
TA. L I 1 Lc)
CIA
DCA S4i-i rL~r'
n\ D SAt-'lI loc'J
AND ;:,; ",,';,', S ~{
TAD SMITr'JP
SNA CL!\
J ,'1:':'> s () :"; f.\l L
I S7. SAr~ C\ T
J("Tp
s(\r,t!:,,;
IS:;: $A,"1Ri\.\J
TAD SA!\l,':~;f\
ANI>
C77~"r;)
S;~{\
CLA
Jl'ij> .+~{
1'1'\ D C 7 7;;) (1
LE''i P Sf\ ,<, S ~.;. + 1
T/" D
S:\iA
SAt'1LNK
Ji";P ;-;A"l\ aT
Ie OUN T FL ncc,) [;
IGl.::l i..lOId)
I,}.L\.S'{
IC',HGl\ TI V
111-.;<". S10F{\Gt~
11\)1 foILE ft It) SrAi,_C"
I,'J.S \. C OEBE.Cr HALl'
l'
OJ,
F OUNL IT
OJ; l::. I,\) IH I S f,(,L F '!
Iy j.~~;, S El\ I.e H
I,'~ 0..
UP L1e\ ,!,l FL OC>(,\jl:
1;'.JilLhE ..jJ:.l,l.'~ wE; SH\ECi:I(\)G?
IY
L~;,
I.~ (l,
,'.:
IY 1:<$, S 0 ~ aT F (J[J:\ U
I:'J U, fl f,{\ D N j.X T t:L.OCi<
60
/
I
ISl 5AYS:.C
SA~FND,
SAMNOT,
TAD
Si\~':L:C~
JMP
SAMS~C
JMS
SYSIO
/EI<AD=3,
/BL.OCKNL
/
/
SAYTLB,
F U,\lCTI,
FLKNE..
13U1"'o. Db
SAl"lLNK ..
c3
0
Q!
I
/NO:'HTO}~
vJrlI
DIS:{ HA;.JVLEE
T~=5
/FUFFE'}~!,\ lJLP~5S
HLT
cJ:V1P
Sl\:viF: UB
/ VAHIAPL f.S
/
Si\t'1 TI/lP, 0
SAYlI FN .. .;)
SAp; Pf<N .. (I)
SAMMS~
.. 0
SAMCNT .. 0
SA;'1BFA .. BUFl'E:H
SYSIO, 7642
I
CONSTA'\lTS
IGENEBAL
I
C3,
C200,
C7700,
200
77(10
-20(1
crt ..
M20~h
'1'(
61
TAD w6BUF+ 5
SNA
JMP
CLL
SZL
SKP
JMP
DFOKE
RTR
SNA CLA
CLA
DFERR
lAC
DCA W2BUF+2
TAD
EXT
SZA
JNP
TAD
TAD
DCA
W2AD
lEER on
WaR D
INa ERROR
IERRon
IE;RROR=2
IEHROHI S NOT 2
CLA
DFERR
DFSEGA
W2BUF
W6BUF+2
I ~O]6RUF+2
CLA CMA RAL
DFILE
DFILE
ISZ
CLL
TAD
DCA
JMP DF'THY
I SZ DF'ILE
JMP I DFILE
IUn! OB:
[J I
~1I
IE
SK FULL
DF'01{EI
DF'ERRI
I
IVARIABLES
I
DFSEGAI DFSEG0
DFSEGeh 0
II
Ot'\lESEGMENT
SEG~ENTS
}ILE 0
62
L j.
1 .. :"
L'l' ~~ t~C12, ()
LFS1:.C1~~ .. ..:)
<". i:.(~
I ..
It.
If!
j'i c
F I L. !e- I
f TJ. Ll. ?
1
~:: U3!/j V:0 T S F I LE ::)
j , :,,;.~ _.
.,
\v 61:-\ V..
',01 6f1 UF
w2AD..
it16f\LW ..
w2.BUF
HIOb
(2)
W~BUF..
Vl
1-#
~VO!-~ljS;;;1
SEG"S TO fXT
ICOnE AfJDhESS-l
ILOW DELEE VIS[{ ADDEl'.SS
o
Lo\o/OH..
63