/1 HISTOGRAM PROGRAM V1 IFNDEF HSTGRM /START OF HISTOGRAM TABLE IFNDEF HSTFLD /FIELD OF HISTOGRAM TABLE IFNDEF HSTRES /RESOLUTION FACTOR /ACTUAL RESOLUTION WILL BE /2**(HSTRES+3) IFNDEF HSTLOW /LOWEST MEMORY ADDRESS%10 IFNDEF HSTHGH /HIGHEST " IFNDEF HSTLOC /START OF HISTOGRAM PROGRAM IFNDEF HSTCUR /FIELD OF HISTOGRAM PROGRAM IFNDEF HSTGRP /NUMBER OF ITEMS IN A GROUP HP1= HSTGRP+1 IFNDEF HSTLNS /NUMBER OF GROUPS PER PAGE IFNDEF HSTSIZ /NUMBER OF COLUMNS WIDE IN HSTLOG IFNDEF LPT IFNDEF HSTLOG /LOG DEVICE FOR HISTOGRAM IFNDEF HSTFLG S=HSTHGH-HSTLOW+1 T=HSTRES IFNZRO T IFNZRO T IFNZRO T IFNZRO T IFNZRO T IFNZRO T IFNZRO T IFNZRO T TASK= HIST INIWT= 0 CUR= HSTCUR FIELD CUR%10 *HSTLOC HSTFLG, 0 START, TAD (HSTLOW /ONCE-ONLY CODE SKP HIGH, CLL RAR LINCNT, ISZ COUNT GRPCNT, JMP .-2 LOW, DCA LOW ADDR, TAD (-HSTRES-1 HSTPTR, DCA COUNT DIF, TAD (HSTHGH+1 CNTR, SKP CLL RAR ISZ COUNT JMP .-2 DCA HIGH TAD (-HSTRES-1 DCA COUNT STL RAL ISZ COUNT JMP .-2 DCA DIF GO, CLA IAC DCA HSTFLG CAL WAITE HSTFLG JMS I (NEWPAG TAD (HSTGRM DCA HSTPTR TAD (-HSTGRP DCA GRPCNT TAD LOW DCA ADDR TAD (-S DCA CNTR JMS I (TSTGRP LOOP, CDF HSTFLD TAD I HSTPTR /GET COUNT CDF CUR DCA COUNT TAD ADDR JMS I (NUM /PRINT NUMBER "0 TAD COUNT JMS I (NUM /PRINT USAGE COUNT " TAD COUNT /DIVIDE BY 32 RTR RTR RAR AND (177 TAD (-HSTSIZ+12 SMA CLA /DON'T LET SIZE GET TOO BIG TAD (HSTSIZ-12 SNA JMP NOSTAR /NO USAGE CIA DCA COUNT STAR, TAD ("* JMS I (PUT ISZ COUNT JMP STAR NOSTAR, JMS CRLF CDF HSTFLD DCA I HSTPTR CDF CUR /ZERO BUFFER ISZ GRPCNT JMP OVER JMS CRLF TAD (-HSTGRP DCA GRPCNT JMS I (TSTGRP OVER, ISZ HSTPTR TAD ADDR TAD DIF DCA ADDR ISZ LINCNT SKP JMS I (NEWPAG ISZ CNTR JMP LOOP DONE, CAL SENDW HSTLOG FORMSG JMP GO CRLF, 0 CAL SENDW HSTLOG CRMSG JMP I CRLF COUNT, -HSTRES-1 PAGE TPTR, 0 TSTGRP, 0 IN, TAD I (HSTPTR DCA TPTR CDF HSTFLD TAD I TPTR ISZ TPTR SZA CLA JMP LV TAD I TPTR ISZ TPTR SZA CLA JMP LV TAD I TPTR ISZ TPTR SZA CLA JMP LV TAD I TPTR ISZ TPTR SZA CLA JMP LV CDF CUR CLL TAD I (CNTR TAD (HSTGRP DCA I (CNTR SZL JMP I (DONE TAD I (HSTPTR TAD (HSTGRP DCA I (HSTPTR TAD (-HSTGRP DCA TEMK TAD I (DIF ISZ TEMK JMP .-2 TAD I (ADDR DCA I (ADDR JMP IN LV, CDF CUR JMP I TSTGRP TEMK, 0 PAGE NEWPAG, 0 CAL SENDW HSTLOG FORMSG /PRINT FORM FEED CAL SENDW HSTLOG HDRMSG /PRINT HEADER JMS I (CRLF CAL SENDW HSTLOG HDR2 JMS I (CRLF TAD (-HSTLNS DCA I (LINCNT JMP I NEWPAG FORMSG, ZBLOCK 3 NOPACK 0 214 0 HDRMSG, ZBLOCK 3 0 0 TEXT " RTS/8 HISTOGRAM PROGRAM V1" HDR2, ZBLOCK 3 0 0 TEXT / ADDR HITS/ CRMSG, ZBLOCK 3 0 0 0 NUM, 0 DCA TEMP TAD (-4 DCA KNT LUP, TAD TEMP RTL RTL AND (7 TAD ("0 JMS PUT TAD TEMP RTL RAL DCA TEMP ISZ KNT JMP LUP TAD I NUM /GET PADDING CHARACTER JMS PUT TAD (" JMS PUT JMP I NUM KNT, 0 TEMP, 0 PUT, 0 DCA CHAR CAL SENDW HSTLOG CHRMSG JMP I PUT CHRMSG, ZBLOCK 3 NOPACK+NOCRLF 0 CHAR, 0 0 PAGE FIELD HSTFLD%10 *HSTGRM ZBLOCK S X=.