
	.ABS
	.LOC	100
START	JMS	CRLF
	JMS	CRLF
	JMS	CRLF
	LAC	(MAG-1
	JMS	TYPMES
	JMS	CRLF
REDO	JMS	CRLF
	LAC	(NOC-1
	JMS	TYPMES
	JMS	READ	/ READ NO. CHANNELS
	JMS	CRLF
	LAC	(ARO-1
	JMS	TYPMES
	JMS	CRLF
	LAC	LOC1	/ LOC1 IS START ADD. OF DATA STORAGE
	DAC	10
	DAC	11
	CLX
	AXR	-6	/ INDEX REG. IS DIGIT POSITION
INIT	DZM	W1
	DZM	W2
DATA	JMS	GET	/ GET DATA
	SAD	CARET	/ CARR. RET.?
	JMP	DATA	/  YES
NUM	AXR	1	/  NO
	PXA
	SAD	(-6
	JMP	DATA
	LAC	SAVE
	SAD	SPACE	/ SPACE?
	LAC	ZERO	/ THEN CHANGE TO A ZERO
	DAC	SAVE
	JMS	CONBCD	/ CONVERT TO BCD
	JMS	SHIFT	/ SHIFT TO STORE IN W1 OR W2
	PXA		/ 6th DIGIT?
	SZA
	JMP	DATA	/  NO
	LAC	W1	/  YES
	DAC*	10
	LAC	W2
	DAC*	10
	ISZ	NCH	/ LAST CHANNEL?
	JMP	AGAIN	/  NO
	LAC	(TRCOMP-1	/  YES
	JMS	TYPMES
	JMS	CRLF
	JMS	CONOCT	/ CONVERT TO OCTAL
	JMS	TRANS
	LAC	(RST-1
	JMS	TYPMES
	JMS	RD
	SAD	YES
	JMP	START
	LAC	(FIN-1
	JMS	TYPMES
	HLT
AGAIN	CLX
	AXR	-7
	JMP	INIT
CARET	1
SPACE	2
ZERO	4
YES	331
NCH
W1
W2
CH1	DEP
MAG	.SIXBT	* #######  LOAD MAG. TAPE  #######@*
ARO	.SIXBT	* START ANALYZER READOUT@*
NOC	.SIXBT	* NUMBER OF CHANNELS:@*
TRCOMP	.SIXBT	* DATA TRANSFER COMPLETED@*
RST	.SIXBT	* RESTART(Y OR N)?:@*
FIN	.SIXBT	* HALT@*
READ	0
	JMS	RD
	SAD	ERROR
	JMP	REDO
	DAC	FIRST
	JMS	RD
	SAD	ERROR
	JMP	REDO
	JMS	RD
	SAD	ERROR
	JMP	REDO
	JMS	RD
	SAD	ERROR
	JMP	REDO
	LAC	FIRST
	SAD	(265	/ CHECK FOR 1,2 OR 5
	JMP	FIVE
	SAD	(262
	JMP	TWO
	SAD	(261
	JMP	ONE
	JMP	REDO
ONE	LAC	(-200	/ 128 OCTAL
	JMP	NEXT
TWO	LAC	(-400	/ 256 OCTAL
	JMP	NEXT
FIVE	LAC	(-1000	/ 512 OCTAL
NEXT	DAC	NCH
	DAC	DEP	/ DEPOSIT IN MEM. COUNTER
	TCA
	TAD	(4
	DAC	SIZE	/ FOR USE IN WTMT
	JMP*	READ
SIZE
DEP
FIRST
ERROR	330
CONBCD	0
	DZM	ROT
BCD	LAC	ROT
	IAC
	DAC	ROT
	LAC	SAVE
	RAR
	DAC	SAVE
	SZA
	JMP	BCD
	LAC	ROT
	TAD	(-3
	DAC	SAVE
	JMP*	CONBCD
SAVE
ROT
CRLF	0
	LAC	RETURN
	JMS	TYPE
	LAC	LNFEED
	JMS	TYPE
	JMP*	CRLF
RETURN	215
LNFEED	212
GET	0
	CAF	/ CLEAR ALL FLAGS
	SANF	/ SKIP ON ANALYZER FLAG
	JMP	.-1
	LBAN	/ LOAD BUFFER FROM ANALYZER
	LAB	/ LOAD ACCUM. FROM BUFFER
	DAC	SAVE
	CANF	/ CLEAR ANALYZER FLAG
	SANF
	SKP
	JMP	.-3
	JMP*	GET
SANF=705361
LBAN=705362
LAB=705202
CANF=705364
SHIFT	0
	PXA
	IAC
	SMA	/ 5th OR 6th DIGIT?
	JMP	OVER
	LAC	W1	/  NO
	RTL
	RTL
	TAD	SAVE
	DAC	W1
	JMP*	SHIFT
OVER	LAC	W2	/  YES
	RTL
	RTL
	TAD	SAVE
	DAC	W2
	JMP*	SHIFT
CONOCT	0
	LAC	11
	DAC	10
LOAD	LAC*	10
	DAC	MSDEC
	LAC*	10
	DAC	LSDEC
	JMS	DOC
	DAC*	11
	ISZ	DEP
	JMP	LOAD
	JMP*	CONOCT
DOC	0	/CONV. 6 DIG. DEC. NUM TO OCT.MSDEC CONTAINS 2 MSD'S
	DZM MLOW
	LAC MSDEC	/RIGHT JUSTIFIED, LSDEC CONTAINS 4 LSD'S
	SNA	/RIGHT JUSTIFIED.OCT # IS LEFT IN ACC.
	JMP DOC1
	CLL
	RTR
	RTR
	JMS SUBDOC
	LAC MSDEC
	JMS SUBDOC
DOC1	LAC LSDEC
	SWHA
	RTR
	RAR
	JMS SUBDOC
	LAC LSDEC
	RAL
	SWHA
	JMS SUBDOC
	LAC LSDEC
	RTR
	RTR
	JMS SUBDOC
	LAC LSDEC
	AND SEVTEN
	TAD MLOW
	JMP* DOC
SUBDOC	0
	AND SEVTEN
	TAD MLOW
	JMS MULT
	LAC TWLV
	DAC MLOW
	JMP* SUBDOC
SEVTEN	17
MLOW
TYPMES	0
	DAC 17
CHAR1	LAC* 17
	DAC RAT
	SWHA
	RTR
	RAR
	JMS TSCDTY
CHAR2	LAC RAT
	RTR
	RTR
	RTR
	JMS TSCDTY
CHAR3	LAC RAT
	JMS TSCDTY
	JMP CHAR1
TSCDTY	0
	AND SEVSEV	/TEST ,CODE,TYPE
	SNA
	JMP* TYPMES
	DAC TEMP
	TAD (-40
	SPA
	JMP THRHUN
	LAC TEMP
	TAD (200
	JMS TYPE
	JMP* TSCDTY
RAT
THRHUN	LAC TEMP
	TAD (300
	JMS TYPE
	JMP* TSCDTY
TEMP
SEVSEV	77
TWLV	12
MSDEC
LSDEC
TYPE	0
	TLS
	TSF
	JMP .-1
	JMP* TYPE
TLS=700406
TSF=700401
RD	0
	KSF
	JMP	.-1
	KRB
	JMP*	RD
KSF=700301
KRB=700312
MULT	0
	DZM	%MHIGH	/CLEAR BUILDER WORD.
	SNA		/TEST FOR ZERO IN MULTIPLIER.
	JMP	%SMPZ	/YES...EXIT.
	DAC	%SMP1
	XCT*	MULT	/FETCH MULTIPLICAND.
	DAC	%SMP2
	XOR	%SMP1	/EXCLUSIVE OR TO GET SIGN
	DAC	%MPSIN	/OF PRODUCT AND SAVE IT.
	LAC	%SMP1	/MULTIPLIER.
	SPA		/IS MULTIPLIER POSITIVE?
	JMS	%SMNEG	/NEGATE ROUTINE.
	DAC	%SMP1
	LAC	%SMP2	/MULTIPLICAND
	SPA		/IS MULTIPLICAND POSITIVE?
	JMS	%SMNEG	/NO...NEGATE.
	DAC	%SMP2
	LAW	-22	/LOOP FOR SERIES OF ADDS
	DAC	%SMP3
	CLL
%SMP4	LAC	%SMP1	/MULTIPLIER.
	RAR		/SHIFT BIT 17 INTO LINK AND BUILD
	DAC	%SMP1	/THE LOW-ORDER PRODUCT AT THE SAME
	LAC	%MHIGH	/TIME.  IF THE LINK
	SZL!CLL		/IS ON FROM THE MULTIPLIER SHIFT
	TAD	%SMP2	/ADD THE MULTIPLICAND TO ITSELF.
	RAR		/PUT THE RIGHTMOST BIT INTO THE LINK
	DAC	%MHIGH
	ISZ	%SMP3	/IS LOOP FINISHED?
	JMP	%SMP4	/NO...LOOP AGAIN.
	LAC	%SMP1	/PUT LAST BIT INTO LOW PROD.
	RAR
	DAC	%SMP1
	LAC	%MPSIN	/GET SIGN
	SMA		/SKIP IF PRODUCT POSITIVE
	JMP	%SMPZ-1
	LAC	%SMP1	/NEGATE PRODUCT
	JMS	%SMNEG
	DAC	%SMP1
	LAC	%MHIGH
	SPL!CLL!CMA
	TAD	(1
	DAC	%MHIGH
	LAC	%SMP1
%SMPZ	ISZ	MULT	/RETURN
	JMP*	MULT
%SMP1	0
%MHIGH	0
%MPSIN	0
%SMP2	0
%SMP3	0
%SMNEG	0
	CMA!CLL
	TAD	(1
	JMP*	%SMNEG
TRANS	0
TEST	JMS	CRLF
	LAC	(TAGW-1
	JMS	TYPMES
	JMS	RD
	SAD	ERROR
	JMP	TEST
	DAC	T1
	JMS	RD
	SAD	ERROR
	JMP	TEST
	DAC	T2
	JMS	RD
	SAD	ERROR
	JMP	TEST
	DAC	T3
	JMS	RD
	SAD	ERROR
	JMP	TEST
	DAC	T4
	JMS	RD
	SAD	ERROR
	JMP	TEST
	JMS	CRLF
	LAC	T1
	AND	(17
	DAC	LOC4
	DAC	LOC2
	LAC	T2
	AND	(17
	RTR
	RTR
	RTR
	RAR
	DAC	LOC3
	LAC	T3
	AND	(17
	RTL
	RTL
	RTL
	TAD	LOC3
	DAC	LOC3
	LAC	T4
	AND	(17
	TAD	LOC3
	DAC	LOC3
	DAC	LOC1
	JMS	WTMT
	LAC	(DMPC-1
	JMS	TYPMES
	JMS	CRLF
	JMP*	TRANS
T1
T2
T3
T4
TAGW	.SIXBT	* TAGWORD(4 DIGITS):@*
DMPC	.SIXBT	* TAPE WRITE COMPLETED@*
WTMT	0
	MTCL
	EBA
	LAC	LOC5
	DAC	17763
	LAC	SIZE
	TCA
	DAC	17762
	LAC	(040000
	MTLC
	MTGO
	MTSF
	JMP	.-1
	MTSE
	JMP*	WTMT
	LAC	(PE-1
	JMS	TYPMES
	JMS	CRLF
	MTCL
	LAC	DUMMY
	DAC	17763
	LAW	-1
	DAC	17762
	LAC	(100000
	MTLC
	MTGO
	MTSF
	JMP	.-1
	JMP	WTMT+1
DUMMY	DUMMY
	0
MTCL=707302
MTLC=707304
MTGO=707344
MTSF=707301
MTSE=707341
PE	.SIXBT	* PARITY ERROR@*
LOC5	LOC5
LOC4
LOC3
LOC2
LOC1
LOC
	.BLOCK	2000
	.END	START
~