%LIST * * * A JOB THIS ISO PROGRAM HAS NO TITLE LINE COMPILER AA %MCODE %BEGIN %COMMENT PERMANENT MATERIAL %ROUTINESPEC READ %INTEGERFNSPEC ADDR %ROUTINESPEC READ BINARY (%INTEGERNAME N) %ROUTINESPEC PRINT(%REAL X, %INTEGER M,N) %ROUTINESPEC CHANGE INPUT %ROUTINESPEC CHANGE OUTPUT %REALFNSPEC CPU TIME %REALFNSPEC ELAPSED TIME %ROUTINESPEC PUNCHBINARY (%INTEGER N) %REALFNSPEC ARCSIN (%REAL X) %REALFNSPEC ARCCOS (%REAL X) %REALFNSPEC RADIUS (%REAL X,Y) %REALFNSPEC LOG (%REAL X) %REALFNSPEC EXP (%REAL X) %REALFNSPEC SQRT (%REAL X) %REALFNSPEC COS (%REAL X) %REALFNSPEC SIN (%REAL X) %REALFNSPEC TAN (%REAL X) %REALFNSPEC ARCTAN (%REAL X,Y) %ROUTINESPEC READ CARD BINARY(%ADDR M) %ROUTINESPEC READ CARD ISO(%ADDR M) %ROUTINESPEC CARD READER %INTEGERFNSPEC IFIELD BINARY(%INTEGERARRAYNAME I,%INTEGER J,%C K,%INTEGERNAME M) %INTEGERFNSPEC IFIELD ISO(%INTEGERARRAYNAME I,%INTEGER J, %C K,%INTEGER %NAME M) %INTEGER %FNSPEC FROM BINARY(%INTEGER N) %REALFNSPEC RFIELD BINARY (%INTEGERARRAYNAME I, %C %INTEGER J,K, %INTEGERNAME M) %REALFNSPEC RFIELD ISO(%INTEGERARRAYNAME I, %C %INTEGER J,K, %INTEGERNAME M) %INTEGERFNSPEC CRPARITY %INTEGERFNSPEC AND(%INTEGER I,J) %INTEGERFNSPEC OR(%INTEGER I,J) %INTEGERFNSPEC NOT(%INTEGER I) %INTEGERFNSPEC NEV(%INTEGER I,J) %INTEGERFNSPEC BITS(%INTEGER I) %INTEGERFNSPEC SHIFT (%INTEGER I,J) %INTEGERFNSPEC SHIFTC(%INTEGER I,J) %ROUTINESPEC CLAIM TAPE(%INTEGER I) %ROUTINESPEC RELEASE TAPE (%INTEGER I) %ROUTINESPEC FILE THIS PROGRAM (%INTEGER I,J,K) %ROUTINESPEC ENTER FILED PROGRAM (%INTEGER I,K) %ROUTINESPEC WRITE TO FILE(%INTEGER I,%INTEGERNAME J, %C %ADDR M,N) %ROUTINESPEC READ FROM FILE (%INTEGER I, %INTEGERNAME J,%C %ADDR M,N) %ROUTINESPEC SEARCH ABSOLUTE (%INTEGER N) %ROUTINESPEC POSITION TAPE (%INTEGER I,J) %INTEGERFNSPEC TAPE BUSY (%INTEGER I) %ROUTINESPEC CLAIM TAPE FOR READING (%INTEGER I,J) %ROUTINESPEC MFAULT (%INTEGER N,CHANNEL) %ROUTINESPEC CHARSPERLINE(%INTEGER N) %ROUTINE %SPEC INVERT K (%ARRAY %NAME A,B,%INTEGER N,%REAL %NAME DET) %REALFNSPEC DET K (%ARRAY %NAME A,%INTEGER N) %ROUTINE %SPEC EQN SOLVE K(%ARRAY %NAME A,B,%INTEGER N,%REAL %NAME DET) %ROUTINE %SPEC MATRIX DIV K (%ARRAY %NAME A,B,%INTEGER N,M, %C %REAL %NAME DET) %ROUTINE %SPEC UNIT K (%ARRAY %NAME A,%INTEGER N) %ROUTINE %SPEC NULL K(%ARRAY %NAME A,%INTEGER N,M) %ROUTINE %SPEC MATRIX ADD K (%ARRAY %NAME A,B,C,%INTEGER N,M) %ROUTINE %SPEC MATRIX SUB K (%ARRAY %NAME A,B,C,%INTEGER N,M) %ROUTINE %SPEC MATRIX COPY K (%ARRAY %NAME A,B,%INTEGER N,M) %ROUTINE %SPEC MATRIX MULT K (%ARRAY %NAME A,B,C,%INTEGER N,P,M) %ROUTINE %SPEC MATRIX MULT K' (%ARRAY %NAME A,B,C,%INTEGER N,P,M) %ROUTINE %SPEC MATRIX TRANS K (%ARRAY %NAME A,B,%INTEGER N,M) %ROUTINESPEC SETUPA (%INTEGER I,J) %ROUTINESPEC PACKCARDS (%INTEGERNAME I,%INTEGER J,K) %ROUTINESPEC INITIALISE (%INTEGER I,J,K,M) %ROUTINESPEC NEXTCARD %ROUTINESPEC SKIP(%INTEGER N) %INTEGERFNSPEC BINARY (%INTEGER I) %INTEGERFNSPEC ALPHA (%INTEGER I) %INTEGERFNSPEC IFIELD (%INTEGER I,J) %INTEGERFNSPEC ERROR %INTEGERFNSPEC CURRENTCARD %INTEGERFNSPEC CURRENTBLOCK %INTEGERFNSPEC CURRENTTYPE %ROUTINESPEC WRITE CARD(%INTEGERARRAYNAME A, %INTEGERNAME %C I,%INTEGER J,K) %ROUTINESPEC LAST CARD(%INTEGERNAME I,J) %ROUTINESPEC PATCH(%INTEGERARRAYNAME A,%INTEGER I,J,K) %ROUTINESPEC DPRINT(%REALNAME X1,X2,%INTEGER M,N) %ROUTINESPEC DPRINTFL(%REALNAME X1,X2,%INTEGER N) %ROUTINESPEC SA %ROUTINESPEC DIV %ROUTINESPEC MULT %ROUTINESPEC SETUP %ROUTINESPEC PFD %ROUTINESPEC PDS %ROUTINESPEC DA(%REALNAME A1,A2,B1,B2,X1,X2) %ROUTINESPEC DS(%REALNAME A1,A2,B1,B2,X1,X2) %ROUTINESPEC DM(%REALNAME A1,A2,B1,B2,X1,X2) %ROUTINESPEC DD(%REALNAME A1,A2,B1,B2,X1,X2) %ROUTINESPEC DMOD(%REALNAME A1,A2,X1,X2) %ROUTINESPEC DCON(%REAL A,%REALNAME X1,X2) %ROUTINESPEC DSQRT(%REALNAME X1,X2,Z1,Z2) %ROUTINESPEC DREAD(%REALNAME A1,A2) %ROUTINESPEC PRINT FL (%REAL X, %INTEGER N) %ROUTINESPEC READ SYMBOL (%INTEGERNAME N) %INTEGERFNSPEC NEXT SYMBOL %ROUTINESPEC SKIP SYMBOL %ROUTINESPEC PRINT SYMBOL (%INTEGER N) %ROUTINESPEC NEWLINE %ROUTINESPEC NEWLINES (%INTEGER N) %ROUTINESPEC WRITE(%INTEGER M,N) %ROUTINESPEC SPACE %ROUTINESPEC SPACES (%INTEGER N) %REALFNSPEC FRACPT (%REAL X) %REALFNSPEC MOD (%REAL X) %INTEGERFNSPEC INT (%REAL X) %INTEGERFNSPEC INT PT (%REAL X) %INTEGERFNSPEC PARITY (%INTEGER N) %ROUTINESPEC RUN OUT(%INTEGER N) %ROUTINESPEC NEWPAGE %REALMAPSPEC REAL(%INTEGER S) %INTEGERMAPSPEC INTEGER(%INTEGER S) *JS 999 *J 1000 * 41P: *41120/0/0 *41744/0/0 *43516/20000/0 *46737/57020/0 *55507/6744/157602 *72716/161326/152025 42P: *37715/10100/0 *0/0/0 *J909;* *ADVCA30 35P: *0/242/277 *0/0/302 *ADVCA 30 44P: *0/302/337 *0/0/242 30P: *0/0/0 31P: *0/0/0 36P: *0/0/0 40P: *177777/177777/177777 *177777/177777/177777 *ADVCA 35 22P: *0/20000/53 *0/21400/0 *0/57400/50 *0/22400/41 *0/60000/43 *0/24400/41 *0/22000/52 *0/26000/57 *0/30000/61 *0/31000/63 *0/32000/65 *0/33000/67 *0/34000/71 *0/37000/73 *0/36000/46 *0/26400/56 *0/37400/101 *0/41000/103 *0/42000/105 *0/43000/107 *0/44000/111 *0/45000/113 *0/46000/115 *0/47000/117 *0/50000/121 *0/51000/123 *0/52000/125 *0/53000/127 *0/54000/131 *0/55000/47 *0/36400/42 *0/56000/72 89P:*ADVCA 18 *017451/060716/175634 32P: *0/0/70066 *160/22000/14 *160/31400/6 *160/20400/107 *0/5000/113 *0/46400/35 *0/47000/36 *0/57400/17 *0/50000/21 *0/11000/123 *0/12000/125 *0/53000/27 *0/14000/131 *0/44000/134 *160/66000/11 *160/23400/70161 *0/15400/41 *0/21000/143 *0/22000/145 *0/63000/47 *0/24000/151 *0/65000/53 *0/66000/55 *0/27000/157 *0/30000/161 *0/71000/63 *0/72000/65 *0/33000 /167 *0/74000/71 *0/35000/70012 *160/61400/70113 *160/62400/70065 *0/15400/0 43P: *0/0/0 *0/0/0 *ADVCA 32 38P: *0/542/577 *0/0/602 *ADVCA 30 45P: *0/602/637 *0/0/542 *ADVCA 6 *J200 ;! ODD RESTART *J7100 ;! WRITE *J201 ;! EVEN RESTART *J2601 ;! PRINTFL *0/0/0 *107373/070246/144562 *0/0/0 *17512/66624/5753 ;! TIME OK *135135/140266/14734; !NEW MAG *16174/122662/174144 ;! RELOAD *0/0/171 *0/0/0 *0/0/0 *171/120726/146471 ; ! E435 FAULTY *16172/47674/5541; !E436 I/O MA *116014/20712/116471 ; !E437 G_PARITY *0/0/0 ;!CR DEV NO *0/0/0 ;!1=CR-0=PT *0/0/0 ;!2ND READER; ! E440 *0/0/0; ! SECOND COPY OF WTAPE NO *0/0/0; ! E442 - ELAPSED TIME *0/0/0; !E443 - PACKED FLAG *0/0/05; !E444 - C-TAPE BLOCK COUNT *0/0/0; !E445 LINE PRINTER SYLS COUNT *016161/161662/015647; ! CLANG *0/0/171; !E447 CHARS/LINE *J2; *J987; !STOP AND EMERGENCY STOP 93P: *24240/43050/10612 91P: * ADVCA 2 94P: *0/0/0 1002:96P:* NOT * NEG * DUP * M12 * - * J1001 >= Z * DUP * SET 511 * + * DUP * = M15 * REV * = I15 * PMAQ14 * PIAQ15 -> 1002 1001: * ERASE * SET 118 * = M13 * M0M13 * DUP * = C13 * = +M13 * I13 = -1 * J1017 C13Z 1016: * M0M13Q * = LINK * J1016 C13 NZ 1017: * SET 135 * = M14 * SET 15 * = RC13 1018: * M14M13Q * J1018 C13 NZ * = Q15 * = Q14 * = Q13 * = Q12 * = Q11 * = Q10 * = Q9 * = Q8 * = Q7 * = Q6 * = Q5 * = Q4 * = Q3 * = Q2 * = Q1 * SET 101 * = M13 * M0M13 * DUP * =C13 * = +M13 * I13 = -1 * J1014 C13 Z 1015: * M0M13Q * J1015 C13 NZ 1014: * J1019 TR 1019: * VR * EXIT 1 1P: %COMMENT ROUTINE ENTRY *LINK * = M0M12N * = LINK * EXIT 2P: %COMMENT PRINT TIME *SET 36P: *DUP *=M13 *M0M13 *=Q15 *REV *SET 93P: *=M13 *M0M13 *REV *FRB *ZERO *SHLD+6 *DUP *J 901 =Z *JS 908 *ZERO *SHLD+6 902: *JS 908 *SET 32 ;%COMMENT _ HR __ *JS 909 *SET 72 *JS 909 *SET 82 *JS 909 *SET 32 *DUP *JS 909 *JS 909 *ZERO *J 903 901: *SHLD+6 *DUP *J 902 #Z 903: *SHLD+12 *DUP *J 904 =Z *JS 908 *ZERO *SHLD+6 905: *JS 908 *SET 32 ;%COMMENT _ MIN __ *JS 909 *SET 77 *JS 909 *SET 73 *JS 909 *SET 78 *JS 909 *SET 32 *DUP *JS 909 *JS 909 *ZERO *J 906 904: *SHLD+6 *DUP *J 905 #Z 906: *SHLD+12 *DUP *J 907 =Z *JS 908 *ZERO 907: *SHLD+6 *JS 908 *ERASE *SET 32 ;%COMMENT _ SEC *JS 909 *SET 83 *JS 909 *SET 69 *JS 909 *SET 67 *JS 909 *=M13 *Q15 *=M0M13 *EXIT 1 3P: ! NEW CAPTION SEQUENCE *SET36P: *DUP; *=M13; *M0M13; *=Q15 *REV; *I11; *+; *=RM14 *M0M14; *J401=Z; *M0M14Q *ZERO; *SHLD8; *=+C14; ->404 402: *M0M14Q 404: *ZERO *SHLD+8 *DUP *J403=Z *SET 10 * J1517 = *JS 909 *J404 403: *ERASE *ERASE *J402C14NZ *=M13 *Q15 *=M0M13 *EXIT 1 401: *ERASE *EXIT 1 1517: * SET 13 * JS 909 * JS909 * J404 4P: %COMMENT RETURN * M0M12N * = LINK * EXIT 1 * 85P: *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 *0/0/0 92P: *ADVCA 11 84P: *SET85P:; ! SET UP FAULT TRAP *M2; *=C13; *M12; *=I13 *LINK; *DUP; *=LINK; *=M13 *+; *=M14; *Q13; *=M0M14; *EXIT 2 90P: %COMMENT "%MONITOR"[N] *=M13 *LINK *=M14 751: *J750EN *ERASE *J751 750: *J752EJ *LINK *ERASE *J750 752: *VR *ZERO *=TR *SET 85P: *=M15 *M13M15 *DUP *J753=Z *=Q13 *C13 *=M2 *I13 *=M12 *M13 *=LINK *EXIT 1 753: *ERASE *M14 *=LINK *EXIT 1 5P: %COMMENT TEST FOR VALID CYCLE * PERM * DUP * J1 = Z * PERM * - * REV * / I * J1 # Z * J1 < Z * EXIT 1 1: *SET 3 *JS90P %CAPTION \ NON-INTEGRAL _ CYCLE ->2401 6P:2: *VR; %COMMENT STOP *JS4799; !UNCOUPLE PLOTTER NEWLINES(3) * I2 *J990 = Z %CAPTION STOPPED_AT_LINE_ *I2;*SET1;*JS7100 NEWLINE 990: *SET 92P: *I11 *- *JS 3P %CAPTION \RUNNING _ TIME ___ *SET 9 *OUT *SHL-24 *SET 91P: *=M13 *M0M13 *- *JS 2P %CAPTION _/__ *SET 3 *OUT *SHL-24 *SET 91P: * = M13 *M0M13N *- *JS 2P %BEGIN %INTEGER P,Q,R %CYCLE P=1,1,8 *SET 89P: **P; *DUP; *+; *+; *=M13; *M0M13N; *M0M13 *DUP; *NOT; *J1=Z *ZERO; *NOT; *=M0M13 %CAPTION \ TAPE_CHANNEL WRITE(P,1); %CAPTION _IDENT_ %CYCLE Q=1,1,8 *ZERO; *SHLD+6; **=R; PRINTSYMBOL (R+32) %REPEAT *ERASE *DUP; *=Q15; *C15; *REV; *DUP; *J2>Z %CAPTION *WITH_WRITE_PERMIT 2: *ABS; *NEG; *NOT; *J3=Z %CAPTION _RELEASED_BY_COMPILER *SHL33; *SHA-33;*ABS; *DUP; *=C15; *PMDQ15; *SET 6; *OUT;->4 1: *ERASE 3: *ERASE 4: %REPEAT *SET9; *OUT; *SHL-24; *E442; *-;*SET5; *+; *DUP %CAPTION \\ELAPSED_TIME_ *JS2P %CAPTION ____COST **=P; Q=INT(P/30) %IF Q=0 %THEN Q=1 WRITE(Q,1) %CAPTION_UNITS\\ 9: *E384; *=Q15; *BUSYQ15; *J9TR NEWLINE %END *SET 36P: *=M13;*M0M13;*=Q15; *C15 *J987 < Z; NEWPAGE RUNOUT(40) 987: *ZERO; *=TR *E421; *J1052=Z *E421; *SET6; *OUT *SET-2; *=E421; ->1052 10521: %COMMENT WRITE A BLOCK OT -2 TO MAGOUT TO MARK END OF JOB *E421; *=RC15; *SET8; *=I15; *M+I15; *SET-2; *=E8; *POAQ15 1052: *VR; *E420; *E418; *-; *J1059#Z *E440; *=E420; ! RAN OFF END 1059: *E0;*SET B11;*AND;*DUP;*J1055=Z *DUP;*SETB10;*AND;*J1056=Z *E418; *=RC15; *PMDQ15 *ZERO; *=E439 *SET1;*AND;*DUP;*J1055=Z 1056: *E420; *SET6; *-; *J1055>Z *E439; *J1057#Z *E438; *J10581055 1057: *E420; *J1055<=Z *ZERO; *=E439; *E438; *SET6; *OUT *SET-2; *=E438 ->1055 1058: *E438; *NOT; *J1055=Z *SET4; *SET5; *OUT *=E438; *SET1; *=E439 1055: *ERASE;*ZERO;*=E0 *SET 418 *=M15 *M0M15 ;%COMMENT PICK UP COMPILER TAPE *=RC15 *E444; *DUP; *=M15; *J1054=Z *PMEQ15; *ZERO; *=E444 1054: *SET 2 *=M15 *PMAQ15 ;%COMMENT SKIP LABEL AND SENTINEL *SET2; *=E444 *SET 8 *=I15 *SET 100 *=M15 *PIAQ15 ;%COMMENT READ DOWN CALL *SET3; *=E444 *ZERO *=LINK *E439 *J1053>Z *E420; *SET 6; *- ; *J1049>Z ; !DO NOT SWITCH IF MAG INPUT *E420; *SET6; *OUT *SET2; *SET5; *OUT *=E420 1049: *E438; *J1053<=Z *E438; *SET6; *OUT *SET-2; *=E438 1053:*EXIT 61 ;!GO TO CALL AT 3/33 24P:2401: *JS4799; ! MONITOR STOP *J2C11Z; *SET 3; *OUT *SET60; *SHL24; *+; *=M0M0H; !ALLOW 1 MIN *I3; *I4; *OR; *J2=Z *SET 10000; *=E433; !MORE OUTPUT *E418; *=RC13; *E444; *DUP; *=M13; *J2402=Z; *PMEQ13 2402: *SET1; *DUP; *=M13; *PARQ13; *PMAQ13; *=E444 *E419; *=C13; *M12 2403: *DUP; *=M13; *SET 500 *-; *DUP; *=I13 *DUP; *=M0M13; *POAQ13 *DUP; *I11; *-; *J2403>Z *ERASE; *ZERO; *NOT; *=M0M13 *POAQ13; *PMDQ13 *E418; *=C13; *SET 2001; *=I13 *SET 2750; *=M13; *PIAQ13 *SET 2; *=E444; *JE2001; !INTO DIAGS 7P: ! NEW -> SWITCH LABEL *=RM13; *I11; *=+M13 *DUP; *=E6 *DUP; *M0M13; *-; *J4Z *M0M13Q; *-; *=M10 *M13M10HN; *SHL-24; *DUP; *J4=Z; *=LINK; *EXIT 4: *SET 7 *JS90P %CAPTION \ SWITCH _ VARIABLE _ NOT _ SET 777: *E6; *SET 4; *JS7100 -> 2401 8P: %COMMENT OVR SET *SET 1 *JS90P *SET 2 *JS90P %CAPTION \OVERFLOW _ SET ->2401 9P: %COMMENT NON-INTEGRAL INTEGER QUOTIENT *SET 10 *JS 90P %CAPTION \ NON-INTEGRAL _ QUOTIENT -> 2401 10P: %COMMENT * N1/N2/N3 * = M13 * = I13 * = C13 * Q13 * EXIT 1 11P: %COMMENT EXIT FROM %FN OR %MAP OTHER THAN BY %RESULT = ETC *SET 11 *JS90P %CAPTION \ RESULT _ NOT _ SPECIFIED -> 2401 25P: *SET97; *=M15; *I15=1; ! MESSAGE TO MONITOR TYPEWRITER 2501: *=M0M15Q; *J2501C15NZ *ZERO; *=E96; *M-I15; *SET 96; *=I15 *Q15; *SET8; *OUT; *EXIT 1 %COMMENT READ SEQUENCE 12P: *SET 41P: *=M14 *SET+1000 *=C14 *ZERO *ZERO *ZERO 411: *ERASE *Q14; *JS49; *REV; *=Q14 *SET+32 *J411= *SET+10 *J411= *DUP *SET+48 *- *J471 Z *ZERO *NOT *=C14 *J 413 412: *Q14; *JS49; *REV; *=Q14 *DUP *SET+48 *- *J416Z *REV *M0M14 *XF *J8PV *REV *DC14 413: *SET+48 *- *I1 *FLOAT *+F *J8PV *J412 416: *SET+46 *J417= *SET+96 *J418= 425: *ERASE *C14 *J420<=Z *ZERO 423: *=C14 420: *REV *J421=Z *NEGF 421: *C14 *DUP *J434=Z *DUP *J419>Z *NEG *JS74 *J424 419: *JS75 *J424 34P: *J547 415: %BEGIN %INTEGER CHAR **=CHAR *E227; *=Q15; *M-I15; *Q15; *=E227 *SET 14 *JS90P *JS 34P %CAPTION \ SYMBOL __ PRINT SYMBOL(CHAR) %CAPTION _ _ IN _ DATA %STOP %END  ->2401 417: *ERASE *C14 *J420<=Z *C0 TO Q14 *J412 418: *ERASE *ZERO *ZERO *ZERO 427: *ERASE *Q14; *JS49; *REV; *=Q14 *SET+32 *J427= *DUP *SET+48 *- *J428Z 429: *REV *SET+10 *XD *CONT *+ *SET+48 *- 430: *Q14; *JS49; *REV; *=Q14 *DUP *SET+48 *- *J422Z *C14 *+ *J423 428: *SET+43 *J435= *SET+45 *J415# *CAB *ERASE *I12 *PERM 435: *ERASE *Q14; *JS49; *REV; *=Q14 *DUP; *SET48; *-; *J415Z; ->429 434: *ERASE 424: *REV *NEG *NOT *J436=Z *DUP *FIX *DUP *J437<=Z *=C13 *STR *SHADC13 *J8PV *REV *J441#Z *DUP;*ABS; *SHL-39; *J11443#Z; ! CHECK <=2**39 *REV *ERASE 436: *E227; *=Q15; *M-I15 *Q15; *=E227 *REV *=M13 *=M0M13 *EXIT 1 437: *ERASE *STR *ERASE *J442#Z *SHA-46 *J436 11443: *SET47; *FLOAT; *REV 441: *ERASE 442: *=E6 *SET 16 *JS 90P NEWLINE *E6; *SET 10; *JS2601 %CAPTION__INSTEAD_OF_INTEGER_IN_DATA ->2401 908: *SET 48 *+ * 909:13P:*DUMMY; * *SETB177; *AND *C15 ;!PRINT CHARACTER *J505=Z *SET 32 *+ *SET 10 *J964= *SET 12 *J965= *SET 13 *J966= *ERASE *SET 6 *J47 960: *DUP;*SET 65;*-; *J967>=Z;*Q14 *REV *SET 32P: *=M13 *=M14 *M13M14H *SHL-24 *REV *=Q14 *DUP *SET 1000 *- *J 47960 * 47:47P: *DUMMY; * *C15; *J447=Z; *C13; *E421;*-;*J4721=Z 4722: *ZERO; *=TR; *PMFQ13; *PARQ13; *J4064TR; *POAQ13; *M0M15N; *=M15; *EXIT 1 4721: *BUSYQ13; *J4723TR; 4725: *POCQ13 *M0M15N; *=M15; *EXIT 1 4723: *SET9; *OUT; *SHL-24; *E426; *- *J47252401 447: %COMMENT FOR LINE PRINTER *E432; *NEG; *NOT; *DUP *=E432; *J445<=Z; ! ->445 %IF THIS IS CHAR 121 448: *E445; *DUP; *NEG; *NOT; *=E445 *J4760#Z; *SET7; *=E445; *JS4730 *JS4749; *ZERO; *NOT; *=M0M15 4760: *DUP; *SHL42; *M0M15; *SHLD6 *=M0M15; *ERASE *SET 66 *J446= *SET 3 *J446= *ERASE *EXIT 1 445: *SET66; *J14445= *SET3; *J14445= *SET66; *JS448; *J447 14445: *J448 446: *ERASE *E447; *NOT; *NEG; *=E432 444: *E433; *NEG; *NOT; *DUP; *=E433 *J443<=Z; *E422; *=C13; *BUSYQ13 *J4731TR; *M15; *DUP; *SHL-5; *NOT; *NEG *SHL5; *=M15; *M0M15; *=Q13; *=M13 *POAQ13; *M0M15N; *=M15; *M-I15; *ZERO; *=E445; *EXIT 1 *J452#Z 4799: *Q15; *SET47P:; !UNPLOT *=M15; *ZERO; *=M0M15 *SET13P:; *=M15 *ZERO; *=M0M15 *=Q15; *EXIT 1 %COMMENT DIVIDE N2 BY 10^N1 74:14P: *ZERO *NOT *=RM13 452: *DUP *I12 *AND *M+I13 *REV *SHL-1 *PERM *J451=Z *M13M14 */F 451: *REV *DUP *J452#Z *ERASE *EXIT 1 %COMMENT MULTIPLY N2 BY 10^N1 75:15P: *ZERO *NOT *=RM13 462: *DUP *I12 *AND *M+I13 *REV *SHL-1 *PERM *J461=Z *M13M14 *XF *J461 C11 Z *J8PV 461: *REV *DUP *J462#Z *ERASE *EXIT 1 %COMMENT SET UP FOR PRINT ROUTINES 16P: *SET 36P: *DUP *=M13 *M0M13 *=Q15 *REV *SET 41P: *=M14 *SET 32 *REV *DUP *J472>=Z *NEGF *REV *ERASE *SET+45 *REV 472: *EXIT 1 %COMMENT PRINT N1 DIGITS OF N2 17P: *REV *FIX *=C13 *ZERO *SHAD C13 *J481 18P: *REV *SET+10 *XD 481: *JS 908 *REV *NEG *NOT *DUP *J18P#Z *ERASE *EXIT 1 * * * A SWOP