.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