TITLE SUTANA SALL SEARCH SIMMAC EXTERN MAP,PASSNO MACINIT TEN=^D10 DEFINE PUTBL(A)> DEFINE PUT%(A,B)> DEFINE PUTD8(A)> DEFINE PUTD6(A)> DEFINE PUTD5(A)> DEFINE PUTD4(A)> DEFINE WRITE(TEXT))> DEFINE PUTZERO DEFINE PUTCHAR(A)< SOSGE BC EXEC .WRITE IDPB A,BP > DEFINE PUTTEXT(A)>> DEFINE OUTOPEN< OPEN 1,[0 SIXBIT/DSK/ XWD OBUFH,0] ERROR ENTER 1,[SIXBIT/ANALYS/ SIXBIT/TRC/ 0 0] ERROR OUTBUF 1, OUT 1, SKIPA ERROR > DEFINE OUTCLOSE< CLOSE 1, RELEASE 1, > DEFINE ON(A)< IFOFFA A GOTO FALSE> DEFINE OFF(A)< IFONA A GOTO FALSE> DSW (PASS,0,35,16) DSW (ALLPAS,0,34,16) DSW (FIRSTBLOCK,0,33,16) DSW (LEADB,0,32,16) DEFINE ERROR(A) ENT:: OUTOPEN OPEN 2,[16 SIXBIT/DSK/ 0] ERROR(OPEN) L XPDP,[IOWD 30,STACK.] SETONA FIRSTBLOCK LI 2,3 ST 2,PASSNO SETONA ALLPAS LOOP EXEC LUPTR SETOFA ALLPAS L PASINS ADDM TOTINS AS SOSN 2,PASSNO GOTO FALSE IFONA ALLPAS GOTO TRUE SA SETZM PASSNO SETOFA FIRSTBLOCK GOTO DONE LL:;READ TRACE.BIN CAIN 2,4 SETOFA ALLPAS EXEC LUPTR GOTO DONE HRRZS HGHADR HRRZS LOWADR LI 14 PUTCHAR WRITE (< MODULE LENGTH LENGTH INSTRUCTIONS MEAN NO OF NO OF % I % M % B % O % OF % OF NODATA EXECUTED 3*MEAN 10*MEAN PASS TOTAL >) SETOFA PASS WHILE EXEC MAP GOTO FALSE DO EXEC STATIS OD L 3,PASSNO ASH 3,1 LD 1,[ASCIZ/PASS:1/ ASCIZ/PASS:2/ ASCIZ/PASS:3/ ASCIZ/RTSLOW/ ASCIZ/SIMRTS/]-2(3) LD 3,LOWADR SUB 4,3 SETONA PASS WRITE (< >) EXEC STATIS WRITE (< INSTRUCTIONS TRACED:>) PUTD8 PASINS WRITE (< SIMULA PROGRAM(S) TRACED: >) LI 10,0 WHILE SKIPN 2,SIMPRO(10) GOTO FALSE DO IF TRNE 10,7 GOTO FALSE THEN WRITE(< >) ELSE WRITE(< >) FI LOOP LI 1,0 LSHC 1,6 ADDI 1,40 PUTCHAR 1 AS JUMPN 2,TRUE SA ADDI 10,1 OD DONE: AOS 2,PASSNO CAIG 2,5 GOTO LL RELEASE 2, OUTCLOSE EXIT STATIS: PROC L 5,3 ADD 5,4 CAML 3,LOWADR CAMLE 5,HGHADR RETURN WRITE(< >) PUTTEXT 1 SKIPG 4 RETURN IF ON PASS THEN PUTBL 7 ELSE PUTD6 4 FI ;GET STATISTICS OF THE MODULE SUB 3,LOWADR MOVN 4,4 HRL 3,4 ST 3,COUNTW L 1,[XWD MTYP,MTYP+1] SETZM MTYP BLT 1,MTYP+7 LOOP IF SKIPN 1,TAB(3) GOTO FALSE THEN LDB 2,[POINT 9,1,8] TLZ 1,777K AOS LNODAT ADDM 1,MODINS L 2,INSTAB(2) ADDM 1,MTYP(2) FI AS AOBJN 3,TRUE SA L 1,MODINS PUTD6 LNODAT SKIPN LNODAT RETURN IDIV 1,LNODAT ST 1,MEAN IMULI 1,3 ST 1,MEAN3 L 1,MEAN IMULI 1,TEN ST 1,MEAN10 PUTBL 3 PUTD8 MODINS PUTBL 1 PUTD6 MEAN L 3,COUNTW SETZB 4,5 LOOP L 1,TAB(3) TLZ 1,777K CAML 1,MEAN3 ADDI 4,1 CAML 1,MEAN10 ADDI 5,1 AS AOBJN 3,TRUE SA PUTD6 4 PUTBL 2 PUTD5 5 PUTBL 2 PUT% MTYP,MODINS PUT% MTYP+1,MODINS PUT% MTYP+2,MODINS PUT% MTYP+3,MODINS PUTBL 1 PUT% MODINS,PASINS IF ON ALLPAS THEN PUT% MODINS,TOTINS FI RETURN EPROC .PUT%: PROC SAVE <1,2,3> L 1,A IMULI 1,^D2000 IDIV 1,B ADDI 1,1 ASH 1,-1 IF CAIGE 1,^D1000 GOTO FALSE THEN WRITE(< 100.0>) ELSE PUTBL 2 IDIVI 1,TEN L 3,2 IDIVI 1,TEN ADDI 1,60 ADDI 2,60 ADDI 3,60 CAIN 1,60 LI 1,40 PUTCHAR 1 PUTCHAR 2 WRITE (<.>) PUTCHAR 3 FI RETURN EPROC .PUTBL: PROC ANTAL SAVE <1,2> LI 1," " L 2,ANTAL LOOP PUTCHAR 1 AS SOJG 2,TRUE SA RETURN EPROC .PUTD: PROC SAVE <2,3,4,5> L 2,NUMBER L 5,ANTAL LOOP IDIVI 2,TEN LSHC 3,-4 AS SOJG 5,TRUE SA SETONA LEADB L 5,ANTAL IF CAIE 5,8 GOTO FALSE THEN PUTZERO PUTZERO PUTBL 1 FI CAIL 5,6 PUTZERO CAIL 5,5 PUTZERO PUTZERO PUTBL 1 PUTZERO PUTZERO LI 3,0 LSHC 3,4 ADDI 3,60 PUTCHAR 3 RETURN EPROC .PUTZ: PROC LI 3,0 LSHC 3,4 ADDI 3,60 IF ON LEADB THEN IF CAIN 3,60 GOTO FALSE THEN SETOFA LEADB ELSE SUBI 3,20 FI FI PUTCHAR 3 RETURN EPROC LUPTR: PROC ADDI 2,20 DPB 2,[POINT 6,LBLOCK,35] SETZM LBLOCK+3 LI 2,'BIN' MOVSM 2,LBLOCK+1 LOOKUP 2,LBLOCK RETURN LI 3,0 L 2,LBLOCK+3 HRRI 2,IN-1 IFONA FIRSTBLOCK HRLI 2,-3 IN 2,2 AOS (XPDP) CLOSE 2, RETURN EPROC .WRITE: PROC OUT 1, SOSGE BC ERROR RETURN EPROC .PUTT: PROC PTR SAVE <3,4> L 4,PTR GOTO L3 L4(): PUTCHAR 3 L3(): ILDB 3,4 JUMPN 3,L4 RETURN EPROC STACK.: BLOCK 30 OBUFH:0 BP:0 BC:0 LBLOCK:SIXBIT/TRACE/ 0 0 0 MTYP:BLOCK 4 LNODAT:0 MODINS:0 MEAN:0 MEAN3:0 MEAN10:0 COUNTW:0 TOTINS:0 LIT DEFINE M(A,B,C)< IFB, IFNB,> > DEFINE M10 DEFINE M100 > INSTAB: M 3,0,132 M 2,133,137 M 3,140,177 M10 M10 M 3,220,247 M 1,250 M 3,251 M 0,252,255 M 3,256,257 M 1,260,267 M10 M100 REPEAT 20, M100 M 3,700,777 IN: PASINS:0 LOWADR:0 HGHADR:0 SIMPRO:BLOCK 400 TAB:BLOCK 37007 END ENT