Académique Documents
Professionnel Documents
Culture Documents
\ ._ _ _,
DECUSNO.
TITLE
AUTHOR
COMPANY
DATE
SOURCE LANGUAGE
DECUS
PROGRAM
LIBRARY
8-602B
Floor Anthoni
May 1, 1973
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 responsibi lity is assumed by these parties in connection therewith.
?"~UTHORS
~~~======~=============================================
FLOOR ANTHONI
!"lEDICAL BIOLOGICAL LABORATORY T. N. O.
LANGE KLE I WEG 139; R I JSW I....II< (Z H) i THE NETHERLAND:::;
1.,2,3,4,5.6.7.9.10.11.12,13,14,15, 17, 18.49.50,51.52,53.54.
~~5.56.57,58.59.60,61.62,63.64,65.66.67.68,69.70.71,72
i=~NDRIES E.
BROUWER
!"1ATHEMAT I SCH CENTRUM
;~DE BOERHAAVESTRAAT 49; ANSTERDAM
THE NETHERLANDS
38.39.73.74.75.76.77.78.79.13. 12A. 10
i=~DR I.
HEMELAAR
!"lEDICAL BlOLOGICAL LABORATORY T. N. O.
LANGE KLEIWEG 139; RIJSWIJI< (ZH) i THE NETHERLANDS
L~5,
46, 47.48.82. 83
PAUL LOHMAN
!"1ED I CAL B I OLOG I CAL LABORATORY T. N. O.
LANGE KLE I WEG 139; R I JSW I JK (Z H) ; THE NETHERLAND:::;
1.6
HANS MEES
1"1EDICAL BIOLOGICAL LABORATORY T. N. O.
LANGE KLEIWEG 139; RI ....ISWI ....I..~ (ZH); THE NETHERLANDS
c. VERWEY
LABORATORIUN VOOR BIOLOGISCHE EN NEDISCHE NATUURKUNDE
!"lED I SCHE F ACUL TE I T ERASMUS UN I VERS I TE I T ROTTERDAI'1
P. O. BOX 173E:; ROTTERDAM; THE NETHERLANDS
LW. 41. 42. 43. 44
~:EYWORDS,CURRENTLY
~:~~~=====:====================:==============
FUNCTIONS
_------_----
-- ..... --_ ..
{~R
I THI'1ET 1 C
STRINGS
= USED
DATA FORMATS
-------------------------
BINARY
{~SCI
CODE
OCTAL
DECIMAL
HEXADECIMAL
II'1AGE
:============================
= CONFINED
T~;~=;E:
_-----..-------------------.. _---------------------DISK
OECTAPE
I'IAGTAPE
DISPLAY
PAPERTAPE
, 3
~JITH
~::OUTPUT,CONVERSION,BINARY,
.<: ARITHMET IC
~::
~<:
~~:
INTERRUPT,
::nRING~;,
OUTPUT, ASCI I
~::
~::
(l3'~
~::FILE,
~:::
0~;8
FORMAT
~::CONVERSION,STRINGS,ASCII,OS8
~::
~::
~::
~::
.<:
059 FETCH THE NEXT ITEt-1 FROl'l THE HEAD OF THE OUEUE
K:STRINGS
060 COt-1BINED ROTATING E:UFFER OPERATORS, CROSS-FIELD CALLAE:LE
K:STRINGS
0~.1
~::
~:::
G"~UEUE
O~.9
~::
070 REAtJ NEXT ELEMENT FROM THE TAIL OF A ROTATING E:UFFER (OUEUE)
K:STRINGS
(171 WR I TE AN ELEMENT ONTO THE TOP OF A BUFFERI7J.UEUE
.:::: STRINGS
072 KILL THE BUFFER QUEUE
STRINGS
~::
~<:
~J
I TH LEAD I NG !:WACES.
~::OUTPUT,CONVERSION,OCTAL
t:::: AR I THi"lET I C
I'%R I THi'lET I C.
01:3
043
044
083
CONVERS ION.
004
005
009
010
015
017
018
019
020
021
022
()23
()24
(125
02c.
(130
031
0:32
033
034
035
040
041
045
046.
047
(153
054
055
061
073
074
075
076
077
078
079
080
081
FILE,
CI29
036
(137
03;:::
(j39
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUT I NE
SUBROUTINE
READS OR
SEARCHES
SEARCHES
SEARCHE:::;
READS OR
l:NPUT,
CIl9
(129
035
CI39
()41
042
048
052
INTERRUPT,
(127
028
062
074
SIGNAL PROCESSING,
()4~:
SORTING,
008 SUBROUTINE TO MOVE A E:LOCK THROUGH CORE
C)63 FIND THE SMALLEST HOLE IN A LIST, JUST BIG ENOUGH
10
OUTPUT,
082
001
002
003
004
005
006
007
009
010
015
016
017
018
020
cal
022
023
027
02E:
029
039
040
041
048
052
053
054
0!.:"i5
062
079
080
081
082
PROGRAM CONTROL,
011
012
014
048
049
050
051
11
~;TRINGS,
082
(101
(J07
(JOE:
027
028
()30
()31
()32
033
034
035
036
0~-;7
038
040
042
043
044
04~:i
(146
049
(J50
0!.'j3
0~4
0!35
056
057
05E:
059
(160
(le.3
065
0~.6
067
(168
0~.9
(170
(171
(J72
082
12
********************
()10 CAN BE IMPROVED BY CHANGING THE FIRST INSTRUCTION
.' Ci"1A" INTO .' CLA CI'1A . ' .
THIS ROUTINE I:::; , HOWEVER, SUPERCEDED BY 010A.
*********************
(113
A
B
lAC
RAL
A
B
OR AS FOLLOWS:
TAD A
AND E:
CLL RAL
CIA
TAD A
TAD B
THE NOR ROUTINE CAN BE INPROVED:
TAD A
CMA
AND B
TAD A
CMA
13
/CALL:JMS PRMESG
/
MESG
/
RETURN (AC=O)
f'
/MESG,
TEXT "ABC82'"
/CODE[I AS 0102;
0~:70; ~,200
PRMESG,O
CLA
TAD
[lCA
ISZ
PRMES1,CLA
DCA
ISZ
TI:\D
RTR
RTR
RTR
PRMES2, AND
SNA
JMP
TAD
AND
TAD
JMS
ISZ
...IMP
TAD
JMP
CMA
I PRMESG
PRMES3
PRMESG
CNA
PRI'1ES4
PRMES~:
I PRMES3
/SAVE POINTER
/FOR RETURN
/UNPACKSWITCH
/NEXT WORD
/FETCH WORD
/*
C77
I PRMESG
C240
C77
C240
PRINT
PRMES4
PRNES 1
I F'RMES3
PRMES2
/MASK 6 BITS
/END OF L I ~;T?
/YES
/RECODE
/CHARACTER TO
/BE PRINTED
/AND PRINT
/TEST L-R SWITCH
/LEFT
/RIGHT
I""
PRMES3,O
PRMES4,0
/POINTER
/UNPACKSWITCH O=R;
.I'
/'GENERAL CON~;TANTS
C77,
77
C240,
240
14
l=L
/TAD CHARACTER
/ ....IMS OCTCHK
/NOT OCTAL RETURN
/OCTAL RETURN
l
OCTCHr<,O
TAD
AND
SNA
ISZ
....It-1P
M260
C7770
CLA
OCTCHK
I OCTCHK
/'
/GENERAL CONSTANTS
I'12e.0,
-260
C777(l, 7770
/012B CHECK WHETHER OCTAL OR NOT
/ROUTINE CAN BE MORE PRACTICAL IF '8ZL CLA' BECOMES
/'SZL' OR 'SNL' IN WHICH CASE THE 'OCTALRETURN'
/18 WITH THAT DIGIT IN THE AC. THE OTHER RETURN IS
/'(,J I TH AC=-260
OCTCHK.
10
-270
0
TAD OCTCHI<-1
CLL
TAD OCTCHI<-2
SZL CLA
ISZ OCTCHK
...IMP I OCTCHK
15
: .JMS DEC I NP
RETURN WITH NUI"1BER BINARY IN AC
DECINP,O
CLA
DCA
.JMS
TAD
.JMS
TAD
TAD
SNA
.Jt-1P
TAD
TAD
SF'A
JMP
TAD
SMA
.JNP
TAIJ
CLL
TAn
CLL
TAD
TAD
DCA
Jl'lP
DECNUl"l
READ
CHAR
PRINT
CHAR
M377
CLA
DECINP+l
CHAR
1'12e.O
DECOUT
M12
CLA
DECOUT
DECNUM
RTL
DECNUM
RAL
CHAR
M260
DECNUM
DECINP+:3
/CLEAR REGISTER
/READ CHAR FROM KEYBOARD
/PRINT THAT CHAR
/GET CHARACTER
/IS IT RUBOUT?
/YES READ ALL OVER AGAIN
/NO
/CHAR>=2e.O?
/NO,CHARACTER IS DELII"1ETER
/YES
/CHAR<::272"-;:'
/NO,CHAR IS DELIMETER
/YES,CHAR IS FIGURE
/NUI'm*4
/NUMB*4+1=NUMB*5
/NUMB*5*2=NUMB*10
/ADD LAST FIGURE
/DEC I 1'1AL NUl'mER
DECOUT,CLA
TAD DECNUl'l
.JMP I DECINP
/EXIT
/""
/VAR I ABLE::;
l'
DECNUM,O
/""
/GENERAL CONSTANTS
1'112,
-12
1'1260, -2e.O
1'1377, -377
16
IR1=10
0
7000
(3
DI SPLA,
TAD I DISPLA
DCA IRI
I SZ DISPLA
TAD I DISPLA
DCA DISPLA-1
TAD DISPLA-2
. DCA DISPLA-3
DI SNEX, TAD DI SPLA- 3
DILX
CLA
TAD I IR1
DILY
CLA
DISD
JMP .-1
DIXY
ISZ DISPLA-3
NOP
ISZ DISPLA-1
JMP DISNEX
I SZ DISPLA
JMP I DISPLA
IGEl NO.
OF wORDS
IGET DATA
17
121
o
-1777
71211210
MULDI S"
MULNEX"
121
TAD I MULDIS
ADLM
TAD MULDI S-1
DCA MULDI S-4
TAD MULDIS-2
DCA MULDI S- 3
TAD MULDI S-4
DILX
CLA
JMS MULSAM
DILY
CLA
DISD
JMP .-1
DIXY
ISZ MULDIS-4
IGET CHANNEL
IGET LEFT POINT CX\} DISPLAY
IINCREMENT X-POINT
NoP
I SZ
J1'1P
I SZ
JMP
MULSAM"
MULDI S-3
MULNEX
MULDI S
I MULDI S
IINCREMENT COUNT
IGO TO NEXT POINT
ISET RETURN ADDRESS'
IHETURN
0
ADST
ADSK
JMP .-1
ADRB
JMP I MULSAl'1
ISTARl CQ.\lVERSION
18
IRl=10
DIGIN ..
0
0
IGET START ADDRESS
TAD I DIGIN
DCA IRI
I SZ DIGIN
IGET NO. OF vlOHDS
TAD I DIGIN
DCA DI GIN-l
DBCO
ICLEAR OUTPUT REGI STEH
ICLEAR INPUT REGISTER
DBCI
CLA CLL lAC HAL ISTAET DATA BLOCK
DBSO
ISET OUTPUT BEGI STER
ICLEAH OUTPUT REGI STE.R
DBCO
CLA CLL lAC
Iworm C (Ml'l1AND PULSE
DBSO
DBCO
CLA CLL
DBSK
I\.JA IT FOE FLAG
JMP - I
DBHI
IHEAD INPUT REGI S TEB
ICLEAR INPUT REGISTER
DBCI
DCA I IRI
I SZ DIGIN-I
IINCREi'1ENT COUNTER
IGO TO NEXT WORD
JMP .-12
CLA CLL lAC RTL lEND DATA ~OCK
DBSO
DBCO
CLA CLL
I SZ DIGIN
ISET RETUEN ADDRESS
JMP I DIGIN
IRETUEN
19
o
10
o
({}
0
FILTER ..
({)
TAD
DCA
I SZ
TAD
DCA
TAD
DCA
TAD
DCA
FILNEX" TAD
JMS
JMS
DCA
I SZ
TAD
JMS
TAD
DCA
I SZ
TAD
Jt1S
JMS
TAD
DCA
TAD
DCA
TAD
DCA
I S~
TAD
CIA
Ci.'1A
DCA
I SZ
JMP
I Sl
I F'I L TER
FILTER-l
FILTER
I FILTER
F'ILTER-2
FILTER-l
FILTER- 3
I FILTER-l
FIL TER- 5
I fo'IL TE:R-l
FILHAL
FILHAL
FILTER-4
FILTER-l
I F ILTER-l
F'I LHAL
FILTER- 4
FILTER~4
FILTER~
I FILTER-l
FILHAL
FILHAL
FILTER-4
FILTER- 4
FILTER- 5
I FIL TEf(- 3
FILTER-4
FILTER- 5
FILTE:R- 3
FILTER-l
FILTER-l
FILTEP- 2
FI L:'IJ EX
FILn~R
JMP I FILTER
OF FOINTS
10UTPUT POINTEB
IGET FIRST POINT
ISAVE I T IN OUT-STORE
IGET FIF1ST POINT
IDIVIDE BY 4
I SA VE I TIN I N - S T OR E
/INCREMENT INPUT POINTEH
IGE:T SECOND POL\lT
IDIVIDE BY 2
IADD AND
I SAVE I T IN HJ- STORE
IINCPEMENT INPUT POINTEh
IGET THIRD POINT
IDIVIDE BY 4
IADD AND
ISAVE IT IN IN-STORf~
IGET PREVIOUS RESULT
IPUT I T BACK IN ME,.'10HY
IGET CURRENT RESUL T
ISAVE I T FOR NEXT OUTPUT
IINCREtvlHJT OUTPUT POIl\lTEH
IGET INPUT POINTER
IA"JD
ISUBTRACT Oi'lE
IINCREMENT POINT COUNT
IGO TO NEXT POI NT
ISET RETURN ADDRESS
IRETUTl.N
20
FILHAL"
0
SPA
JMP
CLL
CLL
JMP
STL
RAR
CLL
JMP
lIS I T P
.+4
RAR
as I T I VE?
FILHAL
FILHAL
21
l(l-(l-REST OF
(X-I)
(X-I)
I.------.CO~TENTS
OF (1.-----+1)
I
(Y-l)
(Y-l)
ITHIS OPERATION IS NECESSARY PRIOR TO APPLYING
IA FAST FOURI ER TRANSFORM TO A PEEl ODI C 51 GNAL"
INOT CONSI STING OF 2TN SAl'1PLES.
INECESSARY HARDWARE: KS- E l!:XTENDED ARI THMETI C EL.
ICALLING SEQU~~CE:
I
JMS REDIST
I
START ADDRESS OF MEMORY BLOCK fYIINUS 1
I
MINUS NO. OF POINTS OF SI GNAL BUFFER
I
RETURN
IAC=0
IRl=10
REDSTA" 0
REDPOI" 0
0
HED0"
REDMl1 .. -11
REDCN T" 0
0
RED:JO"
REDCMP .. 0
REDNEW" 0
REf.Xv1IN" -1
HEDHES" 0
REILOC" 0
REDP OS" 4000
REDFAC" 0
REDI ST" 0
IGET START ADDRESS
TAD I REDIST
DCA IRI
TAD I REDIST
lAC
DCA REDSTA
I SZ REDIST
TAD I REDIST
IGET - NO. OF POI NTS
DCA REDPOI
TAD I HEDIST
DCA REDTLR
I SZ REDIST
15ET RETURN ADDRESS
22
BEOOUL,
TI\D I
IRl
I SZ REDTLR
SKP
JMP I REDIST
SNA
JMP .+3
CLA CLL
JMP .-7
TAD IRl
DCA REDel
TA D RED."1l 1
DCA REDCNT
TAD I IRl
I SZ REDCNT
JMP .-2
SZA CLA
JMP RED.'JUL
TAD REDSTA
CIA
TAD REDel
DCA REDNO
CLA CLL CML BAR
DCA REDC1'-lP
TAD RED.\JO
AND REDCMP
SNA CLA
JMP .+4
TAD REDCMP
DCA REDt'JEW
JMP .+ 5
TAD REDCMP
CLL RAR
DCA REDCMP
JMP .-12
CAM
SWAB
TAD REDNEW
CIA
DCA REDTLR
DCA REDel
TAD RED5TA
TAD REDMIN
DCA IRl
TAD REDt\JO
TAD REDMIN
DCA RED.\J 0
TAD REDNEW
TAD REDMIN
DCA REIX'J Ev1
/GET WOE})
/INCHE[1ENT WORD COUNT
/RETlJRN, NO Et\JD OF 51 GNAL
/TEST FOR AC=0
/NO,
/ADD NEXT 9
WORDS
/GET 2 TN POINTS
/PUT IN COUNTEH
/CLEAR I
/GET START ADDRESS
/SUBTHACT ONE
23
REDi\JEX~
TAD REIA'\lO
MQL
'1UY
REOO
DVI
RED.\lEW
DCA REDRES
SWP
TAD REDSTA
DCA REDLOC
TAD RED:JEW
MQL
TAD REDRES
SAM
MQL
TAD I REDLOC
TAD REDPOS
DCA REDCMP
iYlUY
REDCMP
'DVI
REDNEW
SWP
DCA REDF'AC
CAM
I SZ REDLOC
TAD REDRES
MQL
TAD I REDLOC
TAD Rl!:DP OS
DCA REDCMP
MUY
REDCMP
DVI
REDNEW
SWP
TAD REDF'AC
TAD REDPOS
DCA I I HI
I SZ RED0
I SZ REDTLR
JMP REIl\lEX
TAD REDNEW
TAD REDSTA
DCA IRI
TAD REDPOI
TAD REDi.'JEW
lAC
DCA REDTLR
DCA I IRI
I SZ REDTLH
JMP .-2
JMP I RE,DI ST
IGET
(X-I)
/MULTIPLY \I1ITH I
IDIVIDE BY (Y-l)
ISAVE REST
IQ U OT I K'J T TO A C
IGET START ADDRESS
ISUM IS: L OCATI Q.\j
IGET (Y-l)
IGET REST
IRESULT: (Y-l)-REST
IPUT IN MQ
IGET COt'JTENTS OF' LOC.
IMAKE POSe
IMUL T. (Y-l) -REST
IWI TH POSe CONTENTS OF LOC.
IDI VI DE RES UL T
IBY (Y-l)
ISAVE FIRST FACTOR
IINCREMENT L OCATI CA.\}
IGE:T REST
IGET COt.'\lTENTS
IMAKE POSe
OF LOC. +1
+1
IINCREMENT I
IINCREr-1ENT COUNTER
INEXT POINT
ICALCULATE END ADDRESS
IOF SI GNAL
IGE.T -NUMEER OF POINTS
liN 51 G.'JAL BUFFE.R
ICOMPUTE REST NO. OF POINTS
IRE. TUPN
24
I
I
I
I
I
I
I
I
I
I
I
o
.-.
DCA
TAD
CDI'
SZA
JMP
TAD
'DCA
TAD
CLL
SNL
JMP
CLA
DCA
SKP
ISZ
JMP
PACKB1 .. CLA
TAD
DCA
TAD
RTL
BTL
DCA
TAD
AND
TAD
DCA
ISZ
I SZ
JMP
TAD
CMA
TAD
SNL
JMP
TAD
DCA
SKP
PACKB2 .. I SZ
CDI<'
JMP
ITu~PORAHY
ST~iAGE.
PACKB..
PACKB-1
PACKSW
BUF'FLD
ISAVE CHARACTER
ITEST PACKSWITCH
PACKB1
PACKB-l
PACPTR
PACPTR
III' -2
IGET CHARACTER
IINSERT IN BUFFER
RAR
CLA
.+4
CLL CMA HAL
PACKSW
ISET PACKSWITCH TO -2
PACPTR
PACKB2
CLL
CM
PACPTR
PACPTR
PACKB-1
IDECR~~ENT
POINTER
IGET CHARACTER
PACPTR .. BUFBEG
PACKSW .. 0
PACBEG.. BUFBEG
P.4CEN D.. BUFEJ.\l D
C7400..
7400
PACKB
CURF'LD
PACKB
IN ORMAL RETURN
25
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
CLA
JMS
FI ELD OF SUBROUTINE
FI ELD OF BUFF"ER
BUFEND: DEFINE SIZ E OF' BUFFER
UNPACK
RETURN;
IF LINK=l:
IF LINK=0:
BUFFER EMPTY
NORMAL RETURN
o
UNPACK .. " .-.
TAD
CDF'
SZA
JMP
TAD
AND
DCA
TAD
CLL
SNL
JMP
CLA
DCA
SKP
ISZ
JMP
UNPAC1 .. DCA
TAD
AND
TAD
CLL
RTR
DCA
CLA
TAD
DCA
I SZ
JMP
CLA
TAD
DCA
TAD
CMA
TAD
SNL
JMP
ITEST PACKSWITCH
CLA
UNPACI
II F - 2
UNPPTR
IGET FR (lw1 BUFFER
C377
fKILL BITS 0-3
UNPACK-l/SAVE TEMPORARY
UNPPTR
lIS POINTEf-{ EVEN ?
RAR
CLA
ISKIP I F NO
.+4
CLL CMA HAL
UNPSW
UNPPTH
UNPAC2
UNPACK-l
UNPPTR
C7400
Ul'JPACK-l
IGO TO EXIT
MAKE TEMP. L OCATI Ct.\) ZERO
IGET WORD
IKILL BITS 4-11
RTR
UNPACK-l/SAVE TEMPORARY
CtvlA
UNPPTR
IDECREMENT POINTER
UNPPTR
UNPSW
IINCREMENT PACKSWITCH
UNPAC1+I/AGAIN IF NONZERO
CLL CML lAC H.AL
UNPPTR
IPOINTER +3
UNPPTR
Ui~PEND
ITEST FOR BUF"FEB END
CLL
Ui'lPPTR
CLA
ISKIP I F EMPTY
UNPAC2
26
046
LNPAC2,
TAD
DCA
SKP
CLL
TAD
CDF
JMP I
UNPPTR,
UNPS\i},
UNPBEG,
UNPEND,
BUFBEG
0
BUFBEG
BUFEl'IJD
C377,
C7400,
377
7400
UNPBEG
UNPPTR
/INITIALIZE POINTER
/LI NK= 1
/;\) OE--;~'1AL HETLJHN
UNPACK-l/GET CHARACTER
CURFLD
UNPACK
27
I
I
I
I
I
I
I
PARI TY,
PARI TY GENERATOR
GENERATES ODD OR EVEN PARITY BIT (8TH BIT)
CHAR
PARI TY
RETUhN (WITH CHARACTER IN AC)
CALL:
TAD
JMS
0
12'
ICHARACTER T&~PORARY
IPARI TY SUi'1
.-.
177
200
28
I
I
I
I
I
I
I
I
0
0
-140
SKPOUT.I
SKPOUl.l
SKPOU2.1
.-.
TAD I
CIA
DCA
I SZ
TAD I
DCA
I SZ
TAD
DCA
0
JMP
I SZ
JMP I
I SZ
JMP
I SZ
JMP
JMP I
CLA
JMS
SKP OUT
TIME OUT (IN MILLISECONDS)
SKIP INSTRUCTION
TIMJ:o.:D OUT RETURN
NORMAL RETURN
ITIMER 1
ITIMER 2
IPRESET TIMEH 2
SKPOUT
SKPOUT-3
SKPOUT
IGET SKIP INS TRUC TI ON
SKPOUT
SKPOU2
SKPOUT
SKPOUT-l
SKP OUT- 2 IS T TIMEH 2
10VEHLAID BY SKIP INSTRUCT! ON
+3
SKPOUT
ISKIPPED !
SKPOUT
SKP OUT':' 2 I OVERFL OW TIMEH 2 ?
INO
SKPOU2
SKPOUT-3
SKPOUl
SKPOUT
ITIMED OUT
29
I
I
I
I
TAD (ELEMENT
JMS SORTC
LI ST-1
NOT IN LIST RETURN
NORMAL RETURN
IL 1ST"
SORTCN" 0
o
o
SORTC"
-.
CIA
DCA
DCA
TAD
ISZ
DCA
I SZ
TAD
ISZ
SNA
JMP
TAD
SZA
JMP
I SZ
JMP
IAC=0
IAC=0
SORT.C-l
SORTCN
I SORTC
SORTC
SORTC-2
SORTC-2
I SORTC- 2
SORTCN
I SORTC
SORTC-l
CLA
.-7
SORTC
I SORTC
ISAVE -AC
ICL EAR C OUN T ER
IGET ARGI
IFOR CORRECT RETURN
ISAVE POINTER
/POINTER+ 1
IGET LIST ELEMENT
IZERO?
/YES" ELEMENT NOT FOUND
ICOMPARE
IEQUAL?
IN 0" TRY NEXT ELEMENT
/yES"SET UP RETURN
IAC=0
30
TAD (AC
elF 0
JMS LI ST
LST-.
IMAW{ THIS CO>JSTRUCTIO:.J!!!
NOT IN LIST RETURN
IAC=OFFSl:.:T IN LIST
N ORtwlAL RETUHN ( FOUN D)
IAC= OFFSET IN LIST
IZEHO IS TERMINATOR!!!
10FFSET COUNTER
/POINTER
I-AC
LI ST"
LISTl"
L I STR"
0
CIA
DCA
CMA
DCA
TAD
TAD
DCA
I SZ
ISZ
ISZ
TAD
SNA
JNP
TAD
SZA
JMP
I SZ
RDF
TAD
DCA
TAD
LI ST-l
LIST-3
I LI ST
LIST
LIST-2
LI ST
LIST-3
LIST-2
I LI ST-2
IF'OE RETURN
IZERO?
LISTR
L I ST-l
CLA
LISTl
LIST
!MATCH FOUND?
IN
C6203
.+2
L15T-3
0
JMP I LIST
31
I
ICALLI
I
I
ILl STI
I
I
I
TAD (AC
CIF' 0
IIF' BRANCH RESIDES IN F'IELD 0
JMS I (BRANCH
LIST-.-l
IRELATIVE DISTANCE TO LIST
NOT IN LIST RETURN
IAC=12I
215; CR-.
212;LF'-.
37nRUB-.
121
121
ITEMP AC;NEGATIVE
IPOINTER
IENTER WI TH AC=ELEMENT
.-.
121
BRAN CHI
BRAN 1 I
BRANRI
C62031
CIA
DCA BRANCH-2
TAD I BRANCH
TAD BRANCH
DCA BF.ANCH-l
ISZ BRANCH
ISZ BRANCH-l
TAD I BRANCH-l
SNA
JMP BRANR
TAD BRANCH-2
I SZ BRANCH-l
SZA CLA
JMP BRAN 1
TAD I BRANCH-l
TAD BRANCH-l
DCA BRANCH
RDF
TAD C6203
DCA .+1
0
JMP I BRANCH
6203
IFETCH ELEMENT
I I SIT 0 7 ( EN D OF LIS T )
IV
IMATCH?
INILOOP
IPICK DISTANCE TO DESTINATION
IMAKE ABSOLUTE
32
51..
0
RDF
TAD
DCA
TAD
AND
TAD
DCA
RAR
TAD
I SZ
SPA
JMP
AND
CLL
DCA
TAD
I SZ
DCA
JMP
ICHECK HEAD/WEI TE
ERR
IUNRECOVEEABLE ERROR
SETUP-2
17700
CML CMA HAL IMAKE -WORDC OUNT-l
\vC
I ENTRY
ENTRY
CA
ICURRENT ADDRESS
I SETUP
ERR"
Xl T"
CLA
I SZ
I SZ
0
JMP
SETCD"
C6203"
CA"
to! C"
CDF 0
CDF CI F' 0
0
0
ISET UP RETURN
C6203
Xl T+2
I ENTRY
SETUP-l
SETCD
SETCDF
I ENTRY
Ei,\JTRY
170
IMAKE CDF
l,fiI ELD OF' BUFFER
IGET LINK
IGET FUNCTI CN WORD
IS Oi.'1E.VlHR IN HANDLR
33
PACKSW" 0
7400
377
U\)PACK"
SETCDF"
C7600"
UNPl"
CA"
WC"
TEM"
.-.
0
TAD PACKSW
SPA
JMP UNPl
SZA
CLA CLL CMA RTL
'DCA PACKSW
ISZ PACKSW
TAD I CA
AND UNPACK-l
ISZ CA
ISZ WC
JMP I UNPACK
7600
DCA PACKSW
JMP XIT
TAD
DCA
CLL
DCA
TAD
AND
TAD
RTL
RTL
ISZ
I SZ
JMP
HAL
JMP
0
0
0
CA
CA
/AC=-3
/PACKSl,I] IS -2 0R +1
/FETCH LS 8 BITS
/FOR NEXT
IEXI T WI TH NEXT CHAR IN AC
/CLA
/RESET PACKSWITCH FOR NEXT ENTRY
ISET POINTER BACK
TEM
I CA
UNPACK-2
TEM
CA
PACKSW
UNPl + 3
I UNPACK
34
PACKS\.J,
0
7400
377
UNPACK,
SETCDF,
Ul'JPl,
C7600,
UNP2,
TEM,
.-.
CDF
TAD PACKSi,o]
RAR
'SZL
JMP UNP2
SZA CLA
JMP UNP3
TAD I CA
AND UNPACK-2
CLL RTR
DCA TEi"1
TAD 1 CA
AND UNPACK-1
I SZ CA
I SZ PACKSW
I SZ WC
Ji'1P I UNPACK
7600
JMP'''XI T
TAD
AND
CLL
RTR
RTR
TAD
JMP
I CA
UNPACK-2
RTR
11 ?
/Y
/2
IINCR.
TWICE,
EVERY 3 BYTES
ICLA
!PREPARE
3RD BYTE
TEM
UNP1 +2
DCA PACKSW
TAD TEM
JMP I UNPACK
CAl
~oJC,
35
C7600"
TAD I CA
ISZ CA
JMS OUTPUT
AND C7400
DCA TEM
TAD I CA
I SZ CA
JMS OUTPUT
AND C7400
CLL ETR
RTR
TAD TEM
RTR
RTR
JMS OUTPUT
7600
I SZ WC
JMP UNP
JMP XIT
\.JC,
o
o
o
C7401?1,
7400
TEM"
CA"
IFIRST BYTE
12ND BYTE
13RD BYTE
ISOMEWHERE IN HANDLER
36
ss
TAD CAC
JMS PUSH
STACK
FULL RETURN" AC=0
NORMAL RETURN"AC=0
ISTACK,,-21
I
I
I
I
0
PUSH"
ITLMP.
.-.
DCA
TAD
I SZ
DCA
TAD
I SZ
TAD
SMA
JMP
I SZ
ISZ
ISZ
TAD
DCA
TAD
DCA
I SZ
JMP
POPTEtvI
I PUSH
PUSH
PUSH-l
I PUSH-l
PUSH-l
I PUSH-l
CLA
I PUSH
I PUSH-l
PUSH-l
I PUSH-l
I PUSH-l
PUSH-l
POPTEM
I PUSH-l
PUSH
I PUSH
POINTER
ISHAHED L OCA T I ON
ISAVE PHI
ISTACK F'ULL?
IF OINTH+ 1
IP OINTER FETCHED
IDEP OSI T IN STACK
37
056
JM$ POP
STACK
Et'4PTY RETURN
NORMAL RETURN
POPTEM ..
0
7777
o
pop"
IPOINTS TO STACK
/AC=0
/AC= ELEMENT
ITEMP.POINTER
-.
TAD
DCA
I SZ
I SZ
TAD
SNA
JMP
TAD
-DCA
I SZ
TAD
DCA
TAD
DCA
TAD
TAD
DCA
TAD
ISZ
JMP
I POP
POP-l
POP
POP-l
I POP-l
SPA
I POP
POP-2
I POP-l
POP-l
I POP-l
PUSH-l
I PUSH-l
POPTEM
PUSH-l
POP-2
I PoP-l
POPTEM
POP
I POP
/COUNT=0?BUF EMPTY?
IF ETCH ELEMEi.'i T
IDBCREMENT PTR
38
S6
(COf\J\JN UED)
JMS FILLQ
BUF
FULL RETUHN
NORMAL RETURN
fa
fa
13
F'lLLQ,
.-.
DCA
TAD
I SZ
DCA
TAD
DCA
I SZ
TAD
CIA
TAD
lAC
SMA
JMP
SZA
ISZ
I SZ
I SZ
I SZ
ISZ
TAD
CIA
TAD
SMA
JMP
FILLQl, TAD
TAD
DCA
TAD
DCA
JM.P
FILLQ2, lAC
DCA
JMP
FILL03, CLA
TAD
JMP
FILLQ-l
I FILLQ
FILLQ
FILLQ-2
I FILLQ- 2
FILLQ- 3
FILLQ-2
FILLQ-3
I
FILLQ- 2
SZA
FILLQ3
CLA
FILLQ
I F'ILLQ- 2
FILLQ-2
FILLQ-2
I FILLQ- 2
FILLQ-3
I FILLQ- 2
SZA CLA
FILLQ2
I FILLQ-2
FILLQ-2
FILLQ-3
FILLQ-l
I FILLQ-3
I F'I LLQ
I FILLQ- 2
FILLQl
IN 0, t.JRAP A R OUN D
/YES, C Q'vlPUTE REAL ADDR
IPIE2+ 'PTH2
IDEP IN BUF'
IPTE2= 1
FILLQ-l
I FILLQ
39
BUF)
(FILLQ )
S\2E
G(hJNT
PTR1
fTR2.
fSA-vE AC J
~
~
L
f:"e:iGH
11;
tMPT\" PrR
IFILL PTR
Sl'sV
BtA FPOIi'JiE:1t
SA.Ve;:
S\ZE:
-!t
C(:. ~TU RoN :::
RETURNt-1..
J'r\A 1::::.,5.
NORMAL
lAD Ac
RETUR.N
RETURN)
t=lLL.~2.
~TR2~
~rR2 .:t.!.....J
fLLl~
co MPlATE
mE
/ FULL
40
REi1.AR.N
Ac, ~
16
0
0
CLRQI
.-.
TAD
DCA
ISZ
TAD
DCA
ISZ
DCA
'I S2
lAC
DCA
I SZ
TAD
DCA
JMP
1 CLRQ
CLRQ-l
CLRQ
I CLRQ-l
CLRQ-2
CLRQ-l
I CLRQ-l
CLRQ-l
ISAVE SIZE
IBUFPTR
IEJ\lTER WI TH AC=0
IGET POINTER TO BUFBOOKKEEPER
IFOR RETURN
ISAVE SIZE
IFOR C OUNT=0
/PTEl =1
I CLRQ-l
CLRQ-l
CLRQ-2
I CLRQ-l
I CLRQ
IPTH2=SIZ E
41
0
0
0
MTQ,
MTQ2,
til TO 1,
.-.
TAD
DCA
TAD
DCA
I SZ.
I SZ
CMA
TAD
SPA
JMP
DCA
I SZ
lAC
TAD
TAD
DCA
TAD
DCA
I SZ
TAD
CIA
TAD
SMA
JMP
lAC
DCA
TAD
I SZ
JMP
CLA
JMP
I MTQ
MTQ-l
I MTQ-l
MTQ-2
MTQ
MTQ-l
ISAVE ELEMENT
IBUF SIZE
IPOINTER IN BUFBOOKKEEPEH
IENTER ~JI TH AC=0
IPTR TO BUFBOOKKEEPEH
ISAVE SIZ E
IFOR RETURN
I MTQ-l
IC OUN T- 1 < 0 ?
MTQl
I MTQ-l
MTQ-l
I MTQ-l
MTQ-l
MTQ-3
I MTQ-3
MTQ-3
I MTQ-l
I MTQ-l
ISAVE
IF ETCH THE ELEMENT
ISAVE
IPTRl =PTRl + 1
I-PTRl+SIZE<0 ?
MTQ-2
CLA
1'1TQ2
I MTQ-l
MTQ-3
MTQ
I MTQ
IPTHI 1
IEI,EMENT IN l\G
I MTQ
42
EX-AMPLE:
=- ~O(10)
S\2E
PTR2.
pr~1
Prlt2
c.oUNT:::1.
ll<LIIO.lI_IT_l
FIR~T
PT~'\
5 LEMENT
pr~2
[I~Elz1??Zlg[1~:.O
NORMAL;; COt)tJt '= S
43
TAD ELEM&'\JT
CIF MONFLD
JMS I (FILLQ
BUF-.
BUFFER FULL BETUliN IAC=0 MEANS THAT THE ELEMENT
IHAS BEfl~ ACCEPTED (THE VERY LAST ONE)
IAC=ELEMENT MEANS NOT ACCEPTED!
NORMAL RETURN
IAC=0
QSIZE..
QPTR..
C6203..
1.3
0
6203
FILLQ ..
FILLQR ..
.-.
JMS SETFIL
TAD I QPTR
CMA
TAD QSIZE
SPA
JMP FILLQR-l
SZA CLA
I SZ FILLQ
I SZ I QPTR
ISZ QPTR
JMS QyJRAP
TAD QAC
DCA I GIPTR
CLA
0
JMP I F'ILLQ
44
SETFILI
.-.
DCA
TAD
TAD
DCA
TAD
DCA
RDF
TAD
DCA
ISZ
I SZ
JMP
ICOYllvI ON SETUP
QAC
I FILLQ
FILLQ
QPTR
I QPTR
QSIZE
IGET An GUMENT
INAKE ABSOLUTE
ISA. Vl!: SIZE
IFOB RETURN
C6203
FILLQR
QPTR
FILLQ
I SETFIL
1-> COUNT
1-> ERROR HETURN
QWR1,
.-.
ISZ
"I SZ
TAD
CIA
TAD
SMA
DCA
TAD
1'AD
lAC
DCA
JMP
QPTR
I QPTR
QSIZE
I QPTR
CLA
I QPTR
I QPTR
QPTR
e.c.
IWHAP S AR OUN D
ICOMPUTE ABSOLUTE ADDRESS
QPTR
I QWRAP
.-.
TAD
DCA
JMS
CMA
TAD
SPA
JMP
I SZ
DCA
JMS
I SZ
TAD
JMP
I QPTR
IC OUNT-l <0 1
FILLQR-l
FILLQ
I QPTR
Qy1HAP
QPTR
I QPTR
FILLQR
45
BINCI
BINPHI
BINPCI
BINACI
BINFLDI
CHK~UMI
CHK1 Ei"h
-10121
-30121
6201
-2121121
77
(3
0
0
121
121
121
121
121
BINLI
.-.
BIN21
SZA
JMP
TAD
SNA
JMP
ICONSTANTS
IMASK
IPHASE FLAG.C1=LEADER>POS=ORI GHHNEG=DATA
ILOAD POINTER
IDATA TO BE DEPOSITED IN LOADPOINT
IFI ELD INTO WrII CH TO LOAD
ICOMPUTED CHECKSUM
ICHECKSUM OVER 2 FRAMES
IFF..AME 2
IFPAME 1
lAC UNEQ
CLA
BIN3
BINPH
CLA
BIN3
IY
46
RIN4"
TAD
TAD
SMA
JMP
TAD
TAD
SMA
lAC
DCA
IASSEMBLE 6
TAD
AND
CLL
BTL
RTL
DCA
TAD
DCA
BINL-l
BINC-3
CLA
BIN6
BINL-l
BINC-4
BINAC
BINL-l
CKt<TEM
IREAD FRAME 2
JMS HSREAD
JMP BINRET+l IEOT RETURN
DCA BINL-2
IASSEMBLE 6 L.S. BITS AND UPDATE TE."'1P.CHECKSUM
TAD BINL-2
AND BINC
TAD BINAC
DCA BINAC
TAD BINL-2
ITEt-1P CHKSUM
TAD CHKTEM
DCA CHKTEM
TAD BINPH
IARE WE: IN ORI GIN PHASE?
SMA CLA
JMP BIN7
/y;PROCESS ORIGIN SETTING
IREAD FRAME 1 IN ADVANCE; THI SIS F"OR DATA ONLY
JMS HSREAD
JMP BINRET+l IEOT RETURN
DCA BINL-l
TAD BINL-l
lIS IT 200 CODE?(STOP CaE)
TAD BINC-l
SNA CLA
JMP BIN8
/y"END OF DATA
IN EX T L OCA T I ON
I SZ BINPC
NOP
IJUST IN CASE
TAD CHKTEM
IUPDATE CHKSUM
TAD CHKSUM
DCA CHKSUM
I SZ BINL
BINnET" I SZ BINL
JMP I BINL
47
TAD
DCA
DCA
DCA
BINC-2
BINFLD
CHKSUM
BINPH
JMS HSRFAD
JMP BINRET
DCA BINL-l
TAD BINL-l
TAD BINC-l
SNA CLA
JMP BIN2
TAD BINL-l
SNA CLA
JMP BIN2
JMP BIN4
ICDF 0
ICHKSUM=0
ISET TO LEADER PHASE
IREAD 1 FRAME
IEOT RETURN
lIS IT LEADER CODE?
IUPDATE CHKSUM
48
.'
- _ . --.. - - - - .
BrNPc::::
-~--.--}
BINAC-.1.
t----------CtH::SUM '::::
- C+H:.suM
eMler-EM
..
~--.--.
--
--~=
-..
--.-.-=,,---
->--~----.
~{~I~:~=~~~}t:~~MJ
49
~~:;~~\L)
1 ...'MP:4ST,
I
1*0
JMP I
.+1;INT5ERV
INTAC, 0
IN 11..NK, 0
INTI?TR, 0
4000
SKPLST-l
CLRLST-SKPLST
JMPL S T- CLRL S T
INTSERV, DCA
RAL
DCA
TAD
DCA
INTl..
CLA
I SZ
TAD
SMA
JMP
DCA
INTLNK
INTSER-3
INTPTR
15ET UP POINTER
IJUST IN CASE
INTPTR
I INTPTR
INT2
.+1
JMP
TAD
TAD
DCA
TAD
DCA
INTI
INTPTR
INTSER-2
INTPTR
I INTPTR
.+1
o
TAD
TAD
DCA
TAD
DCA
JMP
INTAC
o
INT3,
INTPTR
INT5ER-l
INTPTR
I INTPTR
INTPTR
I INTPT-q
IJUMP THERE
50
iL'iT2 ..
SNA
HLT
TAD INTSER-4
DCA .+1
/END OF LIST?
/HALT I F I NTERRUPT NOT FOUND
/SET BIT 4000
/OVERLAID BY SKIPINSTR.
JMP INT3
JMP INTl
EXIT..
CLA.
TAD
CLL
TAD
RMF
ION
JMP
CLL
INTLNK
RAR
INTAC
/JUST IN CA.SE
I 0
51
INI~RRLA.PI
Gt:"NERAL
BRA/\IOH~
---'---,-----------
RE""Ln~.N
FR.OM
INTBR.R.LAPT SER"'CE
-:._ _ _ L;]
(INTEX.\T)
ResToRe
ALL
~eGrl.s.ieRS
_L
E'~f~
F~~-tt ]
C~~~__T_ _
UN 1DE NT IF Il<t>
11\lTF- R~ upr
----
SET" UP PoiN-
TER IN JI,AMP-
52
L.1ST
~
-- "- '---"'--'"
I
I
TAD (4
ISEARCH SMALLEST HOLE> OR = 4LOC.
JMS SMALL
LISTBEGIN
-LI STEND
NOT FOUND RETURN
IAC=0
NORMAL RETURN
IAC=POINTER TO HOLE BEGIN
ILISTBEGIN..
1;3;2;4;0;0;0;0;0
ILISTEND..
0
IZEROES REPRESENT HOLES!!!!!
SMALCN ..
7777
0
"""
"
53
63
54
63
PINt:>
e:~
iH~ S;MAl..LeS1'
lAA-L TO
(5~ALL- )
-t~_l'~"_"-)"
R.e(VUssr=
-A.C
~~~~~~]
r;--f.Jo. RMAL)
,-~TL\RN
- _ . - _.. -
I
'-
t'lA'Lg}
tt---7 BEc:tINNIN& Or
f-IOLE IN AC
~--.-~-
55
.-.
Rr;:PL..AG6
t-ASi"tlOL~,
COIVI pu.rE AND
SAVe fblNtER
5f.,
TAD AC
/LINK PREFERABLY IN PAGE 0
JMS LINK
B-.
IRELATI VE POINTER
lOR AND,ISZ,DCA,JMP,JMS
TAD
RETURN
RETURN IF ISZ SKIPPED
1000
AND I LINKPC
LINKPC, -0
LINKAC, 0
LINK,
.-.
DCA
TAD
SPA
CML
TAD
DCA
I SZ
TAD
ISZ
SPA
JMP
TAD
DCA
TAD
LINKAC
I LINK
LINK
LINKPC
LINK
I LINK
LINK
LINKJ
LINKPC-1
.+2
LINKAC
JMP I LINK
ISZ LINK
JMP I LINK
LINKJ,
LINK3,
AND
SZA
JMP
TAD
DCA
ISZ
TAD
JMP
LINKPC-2
CLA
LINK3
LINK
I LINKPC
LINKPC
LINKAC
I LINKPC
IC (l\) STAN T
ITO MAKE REAL INSTRUCTION FROM
ICOMPUTED ABSOLUTE ADDRESS
ISAVED AC
ICCMPUTE OPERAND(PC)
ITO PRESERVE THE LINK
/MAKE ABSlLUTE ADDRESS
lAND.. TAD ETC
IJMP OR JMS
/MAKE TAD I LINK INSTR ETC.
10VERLAI D
/NORMAL RETURN
IIF IT SKIPPED,RETURN+l
lAND (1000
II SIT JMP OR JMS?
IJMP
IDEP. 'RETURN' IN SOOR. ENT iY
IJ~lP
TO SUBR.ENTRY+1
57
6Lf
6S- 72
1)
J:F A PROGRAM (1) REQUIRES CORE STORAGE FOR VARIABLES, DATA, (IR
PUSH-DOWN LISTS, THE NECESSARY STORAGE CAN BE REQUESTED FROM
FREECORE IN UNITS OF A GIVEN SIZE. (ONE BLOCKLET AT A TIME). (FIG 2)
IF, FOR EXAMPLE, A DIFFERENT PART OF THE PROGRAM REQUIRES 2 BLOC.::I
'-HE FREECORE AREA CAN BE AS IN FIGURE 3.
IS:- PROGRAM
nLO~KLET
THE ROUTINES DESCRIBED IN THE FOLLOWING PAGES MAI<E USE OF A FRFFAREA CONTAINING BLOCKLETS OF 8 COMPUTER WORDS,
'-HE LAST' WORD I N EACH BLOCKLET I S RESERVED FOR THE PO INTER.
t~O~c
~i~~ []j[J[~-]{=rI--.[-]
~~ []L=_BL_ ][~_JI~~=B
Fi.
f=(E I.J.
!
L_-. __
50
J="T~.
CLA
JMS INITFC
NORMAL RETURN
o
INI TFC,
6S
ITEMP. STORAGE
.-.
DCA
DCA
TAD
DCA
FREEF
FREECT
FREEHI
INITFC-l
TAD
JMS
. TAD
TAD
DCA
INITFC-l
RELBLK
INI TFC-l
C7770
INI TFC-l
TAD
CIA
TAD
SMA
JMP
FREELO
INITFC-l
CLA
AGAIN
AGAIN,
JMP I
INI TFC
/RETURN
59
REQBLK=.
RBLX..
.-.
DCA
RDF
TAD
.DCA
CDF
TAD
RBLK-l
ISAVE
C6203
RBLRET
0
RBLK-l
SNA
JMP
AND
TAD
DCA
TAD
Si'JA
JMP
DCA
TAD
SNA
.JMP
TAD
DCA
TAD
DCA
DCA
CMA
TAD
DCA
TAD
AND
I S7,
0
.JMP
RBLf{2
C7770
C7
RBLK-l
FRE:EF
IP 01 NTS TO TA IL
RBLBET
I RBLK-l
FREEF'
10
NO ELKS f\. VA I LABL E
IMAKE LINK TO NEW BLK
IFIND NEW TAIL.
RBLHET
C7
hBLK-l
I HBLK-l
F'REEF
I RBLK-l
FREECT
FREECT
RBLK-l
C7770
HBLK
I
HBLK
IMDtKE
POINTEF~
TO LINK LOCA.TION.
THE LIN,
()f<'
::!:'.:(l
RJ....'
IN OH1YlAL hETURi\J.
60
I~
I
I
I
I
FELBLK=
ELRL,
.-.
AND C7770
TAD C7
DCA RBLK
It{
ILL E I T 9 - 1 1
nDF
TAD
DCA
CDF
TAD
DCA
TAD
Ai\] D
DCA
TAD
DCA
TAD
DCA
DCA
I SZ
C6203
RLBliET
Ii)
FRE.EF
I hBLK
BELK
C 7771;)
FHEEF
::.17
RBLK-l
FHEEF
RBLK
I HBLK
RBLK
RBLK-l
I Sl
Jl'1P - 3
I SZ FREECT
RLP?ET,
ICHA I :\)
ISET UP ADDR. m
THI S BLOCK
ISrOrU:; A l' PA GE 0
ISET UP COUl\ITEE
IGET ADDU.
01'
l'lORL IN BLOCK
II N CE. C OW'H
IAGAIN IF CNT NONZEnO
II\lCE. Nn.. OF rHEE BLOCKS
(2)
JMP 1 BLPL
FIEST
IHEIUEN
61
I
I
I
N ORi'1I\L RETUf-;i\i
IAC=l
ITEl-i? O::::i~ EY
/T 1'-,('1 P OI~(U;Y
.-.
DCA
EDF
TAD
CDFDCA
TAD
AND
TA.D
DCA
TAD
DCA
TA.D
Ji\lS
TAD
EELQ-l
ISA.VE AC
h'14KE hETUhN
C6203
1 ()(\l FL D
EELQE
EELQ-l
C777'lJ
C7
RFLQ-l
1 BELQ-l
RELQ-2
RELO-l
RELBL:{
RELQ-2
BL'~:L T
SZA
FE;U)F;,
NI{
J:t1P EELQ2
0
J:"IP I Rl':I.Q
62
JMS MAKQ
0
0
0
DCA
PDF
TAD
DCA
CDI'
TAD
SNA
JMP
DCA
JMS
JMP
DCA
TAD
JMS
JMP
VCA
'BOO~'
(3
lvjAKO"
IAC=(ZI
IAC= PTR TO
ERROR BETUEN
N OHMAL RETUEN
MAKQ-l
ISAVE
C6203
MAKRET
(')
MAKQ-l
l-1AKRET
MAKQ-l
HEQBLK
MAKRET
MAKQ-2
MAKQ-2
REQBLK
MAKQ2
MAKQ-3
ISAVE
IREQ. 'DOm{' BLK
I[\)O ROOM; ERR OR
ISAVE
IREQ.
'BOOK' PTn
FIRST BOF' BLK
IN OT A VA ILABL E
ISAVE PTE TO F'ST BllFBLK
63
MAKRET,
MAKQ2,
TAD
DCA
I SZ
TAD
lAC
DCA
I SZ
I SZ
TAD
DCA
I SZ
TAD
DCA
TAD
I SZ
0
JMP
MA~-{Q - 2
MAKQ-.q
f"lAKQ-.q
t1AKQ- ~~
I MAKQ-4
MAKQ-4
t1AKQ-4
MAKQ-3
I t1AKQ-4
MAKQ-4
lYJA~\Q -1
I iVlAKQ - Ll
MA}{Q-2
;vIAKQ
'BUFTAIL'
ISET UP
'BUFTl EAD'
IS ET UP
I MAt<Q
TAD NAKQ-2
JMS BELBLK
J[VlP MAC<RET
II F NO ROeM,
64
ReLEASE
'BOOK 'ELK
TOO
I
I
I
I
TAD (BOOl{
CIF 0
Jt'o'15 EBUF'
BUF EMPTY HEl. AC=Q)
RETURN WI TH ELl::ME.\J1
0
0
hBli}'=
EEl,
II Ee-1F' ORALY
I
10
DCA
ED!"
TAD
DCA
CDF
eLL
TAD
DCA
TAD
SNA
RB-l
C6203
HBRET
0
CML BTL
RB-l
RB-2
I
RB-2
JMP RBRET
TAD Ml
DCA I PB-2
RB-l
I
TAD I HB-l
DCA RB-2
TAD I RB-l
AbJD C7
TAD M7
SZA CLA
JMP 11B2
TAD I HB-2
DCA I Rfl-l
TAD RE-2
Ji:-iS iiELBLK
TAD I RB-l
DCA EB-2
I SZ I HB-l
TAD I RB-2
I SZ EB
0
JMP I FB
sz.
FR2,
hE~hET,
Il'J AC.
11
IAC=2
IPOINTS TO BUFCOUL'>JT
115 BUl' Et':PTY?
/YES, EHhOh EETllci:-.J
IN 0, C omJ T- 1
IPOIN TS TO BUFTAIL
0
/YES, GET L1.\I TO ,\IXT FlLK.
Il\)
IBU~lAIL+l
FOR
65
~XT
ENTHY
TAL EL1<MENT
'DA TA '
ClIo (-)
I
I
I
Ji'1S
I
I
v)PUlBOOK
IPOI;\lTE.P TO BOOK ELK, FLL0
BUY FULL Ei:,TUE(\j
IAC=C; ALSO If F.e.
N OEYAL Id:TUhN
IAC=0
o
o
I FU'-\ G; - 1 I l" LA S T
IDt'l1A S T OH E
IT E.M P UEt',}(y
(3
(7;
FULL
EL K"l EN T
"
(3
DCr...JJP- 3
Tl\D I \J13
DCA \o)B-1
I SZ \ifB
EDF
TAD C62v13
DCA. HB RET
CDF 0
15Z (']P-1
I SZ ('VB-1
IPICK UP BOOKPTE
IPOINTS TO
IAC=2
'BUFCOUNT'
IP 0 I N T S I 0
lEU!' FULL?
'i'~A X It'Jul'l
'
CIA
TAl; I,')E-l
SI'1A
Jr'lP \}Bl, T
DCA WB-LJ
TAD '\O}B-1
IYES,
IFLA G
~.t-:F
OFi
lAC
DCA
I SZ
TA D
AN D
TAD
SlA
Jl"1?
TA D
Jtvl5
ijJ3- 2
I 11JE'- 2
I \!lJ3- PC7
[V; 7
CLA
IJB2
I \.JB- 2
EEOBLK
DCA I
TA. [, I
l<JE- 2
,']B- 2
I S7.
DCA
;,~B-
\tJB- 2
Tl\L ;..m- 3
DCA I ',iE- 2
151.: Aic:- L;
I s:;: 1m
n;h-
l' T,
Ir,) 0
IY~S,
f.EPt)R;AC=i?;
IU?LJATF nU'HUFHE.Al,'
IPUT u!\ 'u\ L'J DUF
IBUFC OU\i T+ 1
1;"';0 FO()(\;;
~1
Ji"lP
I.vP
66
Lf\ST
ELb1~N1
I~
I
I
ITEm). LINK
IP OB1T 5 L UJK OF THI S ELK
IPOli\)TS P.J 'BOOK'
(2)
o
KILLO,
IAC=0
[1
DCA
EDF
TAD
DCA
CDF
I SZ
TAD
AND
KILLQ2, TAD
DCA
TAD
DCA
TAD
JMS
TAD
SZA
JMP
TAD
JMS
KILLf-\!, 0
JMP
KILLQ-l
C6203
KILLHI
III
KILLQ-l
I KILLQ-l
C7770
C7
KILLQ-2
1 KILLQ-2
KILLQ-3
KILLQ-2
Ell.ELK
KILLQ-3
I{lLLQ2
KILLQ-l
RELBLK
ISAVE
IPOINTS
'BUFTl\IL'
/? 01 NTS TO LINK
IGT LINK
IN mol EELEASE ELK
I KILLQ
67
-->
07
-->
I
I
2125
2027
TAD M10
SMA
TAD C70
TAD C2030
1***********************************
II [\J!-'UT OCTAL
IOUTPUT OCTAL
ILEADING ?:EEO'S BECQ"lL PACKE:U SPACE:S
I
IEXAMPLE:15 --> 2125
07 --> 0027
I
I
TAD M10
S:~lA
TAD C2~170
TAD C30
1***********************************
IL\1PUT OCTAL
10UTPUT DECIt1AL
I
I
I
TAD M12
SMA
TAD C66
TAD C2032
1***********************************
IINPUT OCTAL
IOUTPUT D}O~C1l1AL
ILEADINl1 ZERO'S FE-COYlE PACKEU SPACE5
I
IEXA~PLE:15
~7
I
I
-->
-->
2123
0027
TAD ~112
S:'1A
TAD C2(166
TAD C32
1***********************************
IGEN E1'1AL C Ot'J S TA;'JTS:
>11 0,
-10
,': 1 2,
-12
C30,
3Vl
32
C32'
[;66,
66
C7r~,
70
C2(~ 3~j,
2~130
C'?7: 32,
C~(~ 66,
~~)32
C~)(\
7(1;,
2066
20 7~)
68
CLOCK,
I SZ
JMP
TAD
DCA
I SZ
JiViP
TAD
DCA
I SZ
TAD
TAD
S7.A
JMP
DCA
I SZ
TAD
TAD
SZA
Ji1P
DCA
I SZ
TAD
lAC
A:..JD
S,\lA
TICK
EXIT
i.'150
TI Cl{
SEC
EXI l'
M60
SEC
MIN
lViI N
M63
CU'\
EXI T
['1 IN
HOUR
HOUR
IEeSET SeC
-60
RESo.T MI
~\l
=0
M24
CLA
EXI T
HOUR
DAY
DAY\-]
C7
U)C
DCA
II=! D
TAD
DCA
TAD
BESeT HOUi'
OJ
/************.~*******
/* IF Dl\' Y OF AEEK IS
1*~\lOT UI,JOf:Ti\C\iT DLETE
I*THE5E INSTRUCTIO:\iS
/*
DAY ~"
lV; (l;-J Ti-!
MOlllLST
TEN?
1********************
DAY
TAD I TEf1f'
SPA Sl'JA CLf\
J:,,'.:: eXl T
/L0ST
D~Y
69
UF l'lUI\Jrp-l?
lAC
DCA
I S:r.
TAD
TAD
SPA
J'Y;P
".~
lAC
DCA
I S2
TAD
LOOP,
/y' CS
LAY
Ir;ESET DAY
l\1 o.~ TH
l"lQ-JTH
1'112
SNA CLA
EXIT
N Ot\J TH
YEAn
YEAH
A~JD C3
SZA CLA
JMP NLY
TAD YEAR
CLL
TAD ML!00
SNL
JMP \JL!00 V
ILAST
[v~Oi'iJli-i
/YES
IErJS1 1'10.'J'fH
OF' YEAh?
II SIT A LEAPY~AH?
INa LEAPYEAE
IYAY EE!
SZA
JMP LOOP
JI"1P NLY-l
TAD CH10
S?A
NLY,
J(VIP
SZ:A
CLA.
TAD
DCA
Jt'1P
N Ll00 V
CLA
CMA
M28
TO 28 OR
IS~T
~'EB
IVAY
UF THS '.JEE,'{,
2~
DAYS
MO\lLST+2
~XI T
DECIMAL
l'10.\lL ST, M O:\lLST
- 31
-28
-31
-30
-31
- 30
-31
- 31
-30
-31
-30
-31
I
tv'; 1\'),
HOUP,
DAY,
rAY\,J,
;'1; O\JTH,
YEAn,
(1
('I
0
1973
70
OPTIO\J!\L!
,': 621,
[:2L1,
('128,
Yll 2,
:'1Lt00,
C100,
C7,
C3,
TI CK,
SEC,
-60
-2LJ
-28
-12
-400
100
OCTAL
7
3
(3
0
IGENERAL
INTKRPUPT TEPUBN
EX I 1,
CLA CLL
TAD LI0J!{
RAF
TAD ACCU
ION
JMP I 0
I
TEl'IJP,
(',ceu,
0
0
71
/p r; I
/
/
/
/
I
I
l~
lH E li E.G!
~; TI~:n
s:
IPFINT ['1.ESSAGE
IDECIMAL PRINT
IS1AN DARD PR I NT ROUTHJ.E
PlIDAT,
0
TAD
TAD
DCA
TAD
DCA
JMS
Dt\Y vI
DTXTAD
PRTMP
I PFIMP
pr; DA T 1
PH(VIESG
PEn~Tl,0
JMS SPAC
TAD DAY
JM<::. DPETl
..
2
JMS
TAD
TAD
DCA
TAD
DCA
JMS
PHDA T2, 0
JMS
TAD
Jt'1S
L!
Jl'.iS
TAD
J~1S
SPAC
MONTH
M.TXTAD
PRTMP
I PETMP
PRDAT2
PRMESG
SPAC
YEAR
DPRTl
SPAC
HOUR
DPFTl
2
TAD
JMS
TAD
JMS
2
Ji'1F'
1
DOT
PRINT
Lv] I N
lJPRTl
I
PEllAT
PI'1t'-1P=
SPAC,
0
TAD C240
J.'15 PLINT
J:'1P I ~;FAC
72
DOT,
C:?LJ(7J,
"
2LJ0
/
/
DTXTAD, DTXT(.\[;
SUN
~~mJ
TUES
/JED
THUR
FE!
SAT
/
MTXTAD, MTXTAD
JAN
FEE?
MAR
APE
MAY
JUN
JUI...
AUG
SEP
OCT
NOV
DEC
/
JAN,
:t-'EB,
l'1AH,
APR,
MAY,
JON,
JLJL,
AUG,
SEP,
OCT,
NOV,
DEC,
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
TEXT
"JA,\j UARY
"
"FEBEUA}W "
"(YlARCH
"
"APE ! I...
"
"1AY
"
"JUN E
"
"jLJL Y
"
"AUGUST
"
"SEPTEMBEW'
"OCTOBER
"
";\j OVEi>1BEE "
"DEC Ei~BEE "
/
/
PAGE
/
i'i 02-.J,
lUE.S,
\~U),
TH lJE,
FEI,
::CAl"
~~,l.J~'
TEXT
TEXT
TEXT
TEXT
lEXT
TEXT
TEYT
";vj ON DAY
...
"TUESDAY
"WEDN ES n'\ Y"
"THUBSDAY I I
"FEI DAY
"
"SATUF DAY "
II
.. s U:'J DAY
73
ICALL:
I
JMS UNPTIM
r,'l! HI AC=0
1-3
ICLEAE Nt.n1BEfi
IE~~TOJn;
HIGH RE.:v1.AINVEH
THI~
SUBTHACTION
IGET NUMBF:E
IF'UT IN SPEC. hE;GI STEP
IUPDATE POINTU;S
IHKt\lJY '?
LOOP
IY liS, EXI1
Ii'll 0,
74
UNPTA L, IT\iPTH
iY,JFTH,
U\H' 'JL,
0
0
;J\lPTN)~, 2
UNPTCT,0
UNPTMF, ~1
UNPIPO,0
UN P Tl:)T, H aUF,
tIiI N
SEC
UNPTPL, (3
Ul..JP TPH, (I)
UN}) IHA, Ul\lP TH I
USJP TLA, UNPTL 0
UNPTHI,7756
7777
7777
UN?TL 0,3300
552~1
7754
I
H OUj~,
til DJ,
SEC,
75
UNPTDV
UNPTAD
IPUT IN
DI VI SOE LI ST
ICLl!.Ah NW'.iBEH
I UNPTPD
UNPlMP
CMA
UNPTH
UNPTND
UNPTH
UNPTMP
UNPTL
UNPTNM
UNPTNM+ 1
UNPTLP+ 2
UNPTNM+ 1
UNPTH
UNPTNM
I tJi'J P TP 0
UN F TF D
Ul\JP1T) 0
UNPTCT
UNPTLP
I UNPTli.Vi
IHI
OhVE.i-i hbSUL'f
IGlc.T NUMrEh
/PUT L" SI'l::C.
hEliISTEH
lOP Vi') T F" P Ull\l1 EFi S
IU!.AlJY?
IN 0, L OlP.
IYES.I cX I T
76
/L OW
/HI GH
ORDEh
OHDEH
U:\JPTCT, ({)
UNP TtvlP, (2\
UC'JPT'? 0, ({)
lJNPTOT, UL'ilPTL
HOVE
MIN
SEC
VNPTPD, eo
lJNP TDA, lJNPTDV
/POBlTEb IN Dr V LIST
DECI:1AL
/
UNPTDV, ({)
-3600
-60
-1
/
OCTAL
/
/
UNPTH,
UNPTL,
HOUF';,
;'11 N,
({)
({)
({)
SEC,
0
'0
/
:vJ4,
-4
77
r; cn:h oun,\) E TO
Ul'JPAe,~
1 SSE'; UA IE
Il'ESULT IN HEGISTEnS
I
DAY
11- 7
I
1'1 (l-.J TH
11 - 1 ?
I
I
Ul~PDA
IANY
1, ii
DA TE
DCA DAY
JMS DATDI V
-56LJ
TAD TIMES
TAD C196lJ
lJC{\ YEAH
Jl"1 S DA TDI V
T5K
ILr.VI I!c HY
156Ll( SUBTRACT)
IDEVIDE DEST
(DeC)
BY 37
-37
I Sl
THms
lI[v;ES
TI~D
DCA t-l ON TH
I SI'; DAY
JMP I UNPDAT
1M
0~'IJ
THS t'WS T BE + 1
IhEtvj I ;'JDEh
I S DAY $-1
I
15l1P:~OUTINE:
DATDIV DEVIllE::>
'[if\Y'
BY
GIVI:<:;\J ,\JUt'mEn
1),,\ TLlI V,
DA TDl,
D/\ TV?',
I!.~
DCA TII'1ES
eLL
TAD DAY
TAD I DA TVI V
StilL
JMP
DCA
lSI';
.Mr
CLA
I SZ
Jl1P
DATD2
DAY
TIfv1ES
DA TV1
eLL
DflTDI V
I DA TDI \)
ICLEAH HESULT
IE.X IT
or T .:v: j;, S ,
!l
C?6C,
260
0
Ll\Y,
",cJl\i TH,
Yl<I\P,
0
{,J
r, 1 9 (, /j,
DEC I ;'1/\L
1 9 6 it
OCTAL
78
VAhIABLE NUMBR
Of
DIGITS
79
Lt-'~Dl
G, 0
DPhFAC,
(2,
DPEDGT, c;l
DPnIl\lS, Tl\D DPEP
I
DECI~AL
-10vH;j
-10D
-10
I
OC1AL
I
IGE.I\lE.EAL CONSTANTS
/
C? he),
c:~' Lr~J,
? 60
P.40
80
OCTPET"
OCTPR(2l"
(2)
DCA.
Tf.'.D
DCA
CMA
DCA
TAD
OCTTt1P
!.VIL!
OCTCNT
OCTFI G
OCTTMP
EAL
BTL
DCA
TAD
OCTT"lP
OC 1 Ti"lP
RAL
AND
I SZ
JMP
TAD
.JMS
J;-.1P I
SNA
I SZ
JMP
T.41)
C7
OCrCNT
.+4
C260
PH I SJT
OCTPRT
OCTFIG
.+4
Jl'1P
C240
PEINT
OCTPB(7}-l
TAD
J('1 S
JMP
C260
PEIl\jT
OCTPR0
J.'1S
rJ
OCTTtvl? "
OCTeNT"
OCTF! G"
(ij
"'l/]"
-LJ
C7"
C2/j0"
C2 E/1 J'
7
242)
260
01
EOUTINE.
t-lJl.'llNl':
/CALL:
/
/
/
/
DOCTPR,
JMS DOCTPH
HI ORDER PAIn
L OvJ ORDEhPATiT
HETUEN AC=0
0
CLA
TAD I
ISZ
DCA
TAD I
I S~
DCA
OCTPPl,
OCTT~>12
TAD
DCA
CMA
DCA
JMS
JMS
Ml0
J~1S
DBLFOT
OC TTl'v! 2
TAD
RAL
AND
I SZ
JMP
TAD
JMS
JMP I
SNA
I S7.
JMP
TAD
JMS
JrvlP
TAD
JMS
JMP
aCTTN1,
OC TTi'1?',
OCTCN'l,
0
0
OCTl'IC1,
V}
-10
,-';10,
DOCTPR
VOCTPH
OCTTMI
DOCTPR
DOCTPR
OCTCl'JT
OCTFI G
DBLl~OT
DPLROT
C7
OCTCNT
.+4
C260
FEINT
DOCTPh
OCl FI G
+ /1
C24("
PRINT
OCTPHI-I
C26G
PRINT
OCTPhl
Pl
C1,
C240,
C260,
2.LJO
[;BLEOT,
(i1
?'6~1
TAD
OCTIM2
PAL
DCA
TAD
OCTTM2
OCTT;1,1
EAL
DCt-)
J;"1P I
OCT 1;"11
DBLi,OT
82
ICALL:
I
I
CLA
Jrt,:s
GENSTF
RETUHN (AC=t7l)
(ij
o
GBi STH"
G E'IlLP"
GEoNLTH"
-.
TAD
DCA
TAD
TAD
DCA
TAD
DCA
ISZ
TAD
SNA
JNP
CIA
DCA
TAD
JiV15
ISZ
TAD
TAD
SPA
JMP
JMP
I
I
GENSTB-3/SEl
Gt:NSl'R-1
UP TO
T~ST
PHPJ1'
GENSTE-1 ICHAnt\CTE}~ +1
GE...'\JSTR-l
GENSTH-3
S;\]A CLA
IEQUAL TO POINTED CHI\EACTEE ?
GENL?
GENSTE+3/YES" GET NEXT CHAEACTE1~
GB\lNXT-GENLST
332
211
251
300
331
21 5
212
o
Gb~\jXl"
GENLST
GENSTR-2/INITIALIZE POPJTEH
GENSTh-2
GENLTH
GEl.\JSTR-1
GENSTR-I/GET NEXT CHAFACTEB
GENSTE-l
GENSTR-2/DJCREMENT PovnEP
GbIJSTB-2
lEND OF LIST?
G.'JSTR
IYES
3Vl 1
2M'!
2LJ0
?12
333
21 ~
21~
IZ
19
15LASH
I@
I.IF: E.~fUE~\J
ILINE FEED
ITERMINATOH
Ii\,
10
ISPACE
I:
I[
Ihi-'JTUh\j
ILINE FEED
83
/ll"CI~b'HJ;~T
/.VI TH
/
DOUBL.E
i.)}-:t.CI~IiJl\!
OVF_h FL ml h TUf,\i
/C~LL:
/
/
/
/
/
/
(A FTle.)!
16
I[\JCE}.!.d~l\;
DPlNC
DPCNIB
/f,VLfiES5 OF COUL\JTEH
COUNTER OVEr FLOWED REIUPN (AC=O)
N Of;MAL HE.TULl"; (/\ C== 0 )
DPCN TE,
VI
.-.
CLA
15)
CLL
TAD I
DCA
DP I N C1,
J1S
o
DPINC,
COUNTt.];
1 6, 1'77,
I SZ I
JMP
CML
SZL
JMP
Sl{F'
I SZ
I SZ
Ji'1P I
lAC
/SET
DPINC
DPINC-l
DP I [\] C - 1
DPINCl
/i\J 0
DPINC+2
UP TO G1-;T AlJDEcSS OF
OVEr-; fL Ovl
DPINC
DPINC
DP I :~C
84