Google
 

Trailing-Edge - PDP-10 Archives - bb-k345a-sb - tattle.for
There are 6 other files named tattle.for in the archive. Click here to see a list.
C	TATTLE V.2 - PROGRAM TO ANALYZE OUTPUT OF SNOOPY
C
C	READS A FILE PRODUCED BY SNOOPY
C	AND PRODUCES A LISTING OF TIMING BREAKDOWNS.
C
	INTEGER HEADLN, CONFIG, TODAY, NOW, USERF, INTRVL, INTLVL,
     1	MONRES, MONLIM, MONMAX, LOSRES, LOSLIM, LOSMAX, HISRES,
     2	HISLIM, HISMAX, LOSNAM, HISNAM, JOBNO, WCHAN, BUGS, TOTAL,
     3	PITAB, HISTOG, LOSTAB, HISTAB, MONTAB, OPCTAB, LOSTOT, HISTOT,
     4	MONTOT, COMENT, UUOTAB, UUOTOT, CYCLE, IDATLN, CPUN
C
	INTEGER I400K, HISMX4, ANY, LNAME, HNAME, FILNAM, FNAME
	INTEGER SEGMNT, NUMB, LEVEL, PISR, VC, MONIT, OR
C
C	DATA FOR PAGE-FORMATTING ROUTINE
C
	COMMON LINE, OGLOB1, OGLOB2, NMAX
C
C	TO BUILD WITH LARGER DATA BUFFERS, CHANGE DIMENSION OF DATA
C	AND CORRESPONDING NUMBER IN IDATLN
C
	DIMENSION DATA(30000), CONFIG(7), PITAB(7), COMENT(10), HISTOG(1)
	DIMENSION MONTHS(12), LNAME(2), HNAME(2), STATES(32),
     1	FILNAM(2), FNAME(4), ASTRK(100), SEGMNT(2), NUMB(7),
     2	UUO(192), OPCOD(512)
C
C
C	THE FOLLOWING EQUIVALENCE REPRESENTS THE LAYOUT OF THE
C	HISTOGRAM FILE, WHICH WILL BE READ INTO DATA WHEN WE
C	CALL THE SUBROUTINE RHIST.
C
C	ENTRIES FOLLOWING BUGS ARE CLEARED ON EVERY CYCLE,
C	AND CYCLE IS CLEARED BEFORE WRITING THE LAST HISTOGRAM.
C
	EQUIVALENCE (DATA(1),HEADLN), (DATA(2), CONFIG(1)),
     1	(DATA(9), TODAY), (DATA(10), NOW), (DATA(11), USERF),
     2	(DATA(12), INTRVL), (DATA(13), INTLVL), (DATA(14), MONRES),
     3	(DATA(15), MONLIM), (DATA(16), MONMAX), (DATA(17), LOSRES),
     4	(DATA(18), LOSLIM), (DATA(19), LOSMAX), (DATA(20), HISRES),
     5	(DATA(21), HISLIM), (DATA(22), HISMAX), (DATA(23), LOSNAM),
     6	(DATA(24), HISNAM), (DATA(25), JOBNO), (DATA(26), WCHAN),
     7	(DATA(27), COMENT(1)), (DATA(37), CYCLE), (DATA(38),CPUN),
     8	(DATA(39), BUGS), (DATA(40), TOTAL), (DATA(41), PITAB(1)),
     9	(DATA(48), HISTOG(1))
C
C	IF CYCLE IS NON-ZERO WHEN WE COMPLETE A HISTOGRAM, IT MEANS
C	THAT WHEN SNOOPY WROTE IT, HE EXPECTED TO WRITE ANOTHER.
C	THEREFORE, WE CALL RHISTN TO GENERATE THE NEXT EXTENSION
C
C
C	NOW FOR LOTS OF DATA STATEMENTS
C
	DATA MONTHS/'JAN ','FEB ','MAR ','APR ','MAY ','JUN ',
     1	'JUL ','AUG ','SEP ','OCT ','NOV ','DEC '/
	DATA STATES/32*'     '/
	DATA I400K/"400000/, ANY/' ANY'/, ASTRK/' ',99*'*'/
	DATA NUMB/' 1',' 2',' 3',' 4',' 5',' 6',' 7'/
	DATA LEVEL/'LEVEL'/, PISR/'PI SR'/, VC/'VC'/,
     1	MONIT/'MONIT'/, OR/'OR'/
C
C	THIS IS WHAT TO CHANGE FOR LARGER BUFFERS (PLUS ABOVE DIMENSION)
C
	DATA IDATLN/30000/
C
C	DEFINE THE ENTRIES IN THE UUO TABLE
C	ENTRIES ARE SIXBIT TO GET THEM ALL IN ONE WORD EACH
C	ENTRIES  1-32  ARE UUO'S 40-77
C	ENTRIES 33-192 ARE CALLI'S 0-237
C
       DATA UUO(  1)/"434154540000/
       DATA UUO(  2)/"515651640000/
       DATA UUO(  3)/"202422000000/
       DATA UUO(  4)/"202423000000/
       DATA UUO(  5)/"202424000000/
       DATA UUO(  6)/"202425000000/
       DATA UUO(  7)/"202426000000/
       DATA UUO(  8)/"434154545100/
       DATA UUO(  9)/"576045560000/
       DATA UUO( 10)/"646443415454/
       DATA UUO( 11)/"202522000000/
       DATA UUO( 12)/"202523000000/
       DATA UUO( 13)/"202524000000/
       DATA UUO( 14)/"624556415545/
       DATA UUO( 15)/"515600000000/
       DATA UUO( 16)/"576564000000/
       DATA UUO( 17)/"634564636463/
       DATA UUO( 18)/"636441645700/
       DATA UUO( 19)/"474564636463/
       DATA UUO( 20)/"636441647200/
       DATA UUO( 21)/"515642654600/
       DATA UUO( 22)/"576564426546/
       DATA UUO( 23)/"515660656400/
       DATA UUO( 24)/"576564606564/
       DATA UUO( 25)/"435457634500/
       DATA UUO( 26)/"624554454163/
       DATA UUO( 27)/"556441604500/
       DATA UUO( 28)/"654745644600/
       DATA UUO( 29)/"656345645100/
       DATA UUO( 30)/"656345645700/
       DATA UUO( 31)/"545757536560/
       DATA UUO( 32)/"455664456200/
       DATA UUO( 33)/"624563456400/
       DATA UUO( 34)/"444464515600/
       DATA UUO( 35)/"634564444464/
       DATA UUO( 36)/"444464576564/
       DATA UUO( 37)/"444566435062/
       DATA UUO( 38)/"444464476400/
       DATA UUO( 39)/"474564435062/
       DATA UUO( 40)/"444464625400/
       DATA UUO( 41)/"674151640000/
       DATA UUO( 42)/"435762450000/
       DATA UUO( 43)/"457051640000/
       DATA UUO( 44)/"656460435462/
       DATA UUO( 45)/"444164450000/
       DATA UUO( 46)/"545747515600/
       DATA UUO( 47)/"416062455642/
       DATA UUO( 48)/"545747576564/
       DATA UUO( 49)/"636751644350/
       DATA UUO( 50)/"624541636351/
       DATA UUO( 51)/"645155456200/
       DATA UUO( 52)/"556364515545/
       DATA UUO( 53)/"474564606056/
       DATA UUO( 54)/"646260634564/
       DATA UUO( 55)/"646260524556/
       DATA UUO( 56)/"626556645155/
       DATA UUO( 57)/"605257420000/
       DATA UUO( 58)/"635445456000/
       DATA UUO( 59)/"634564605766/
       DATA UUO( 60)/"604545530000/
       DATA UUO( 61)/"474564545156/
       DATA UUO( 62)/"626556000000/
       DATA UUO( 63)/"634564656760/
       DATA UUO( 64)/"624555416000/
       DATA UUO( 65)/"474564634547/
       DATA UUO( 66)/"474564644142/
       DATA UUO( 67)/"636071000000/
       DATA UUO( 68)/"634564564155/
       DATA UUO( 69)/"645560435762/
       DATA UUO( 70)/"446353435062/
       DATA UUO( 71)/"637163636462/
       DATA UUO( 72)/"525742636462/
       DATA UUO( 73)/"636462656557/
       DATA UUO( 74)/"637163605071/
       DATA UUO( 75)/"466245435056/
       DATA UUO( 76)/"444566647160/
       DATA UUO( 77)/"444566636463/
       DATA UUO( 78)/"444566606056/
       DATA UUO( 79)/"634545530000/
       DATA UUO( 80)/"626464626000/
       DATA UUO( 81)/"545743530000/
       DATA UUO( 82)/"525742636463/
       DATA UUO( 83)/"545743416445/
       DATA UUO( 84)/"675045624500/
       DATA UUO( 85)/"444566564155/
       DATA UUO( 86)/"436454525742/
       DATA UUO( 87)/"475742636462/
       DATA UUO( 88)/"414364516641/
       DATA UUO( 89)/"444541436451/
       DATA UUO( 90)/"506061000000/
       DATA UUO( 91)/"505142456200/
       DATA UUO( 92)/"674153450000/
       DATA UUO( 93)/"435047606056/
       DATA UUO( 94)/"634564656557/
       DATA UUO( 95)/"444566474556/
       DATA UUO( 96)/"576450656362/
       DATA UUO( 97)/"435053414343/
       DATA UUO( 98)/"444566635172/
       DATA UUO( 99)/"444145555756/
       DATA UUO(100)/"525742604553/
       DATA UUO(101)/"416464414350/
       DATA UUO(102)/"444145465156/
       DATA UUO(103)/"466243656557/
       DATA UUO(104)/"444566545655/
       DATA UUO(105)/"604164501600/
       DATA UUO(106)/"554564456216/
       DATA UUO(107)/"556443506216/
       DATA UUO(108)/"524263456416/
       DATA UUO(109)/"605753451600/
       DATA UUO(110)/"646255565716/
       DATA UUO(111)/"646255576016/
       DATA UUO(112)/"624563446616/
       DATA UUO(113)/"655654575316/
       DATA UUO(114)/"445163531600/
       DATA UUO(115)/"446662636416/
       DATA UUO(116)/"446665626316/
       DATA UUO(117)/"706464635316/
       DATA UUO(118)/"434154212116/
       DATA UUO(119)/"556441514416/
       DATA UUO(120)/"515756447016/
       DATA UUO(121)/"435645436416/
       DATA UUO(122)/"556650446216/
       DATA UUO(123)/"456254636416/
       DATA UUO(124)/"634556634516/
       DATA UUO(125)/"435462636416/
       DATA UUO(126)/"605151565116/
       DATA UUO(127)/"605163716316/
       DATA UUO(128)/"444542625316/
       DATA UUO(129)/"605163416616/
       DATA UUO(130)/"605162636416/
       DATA UUO(131)/"516043466216/
       DATA UUO(132)/"516043466316/
       DATA UUO(133)/"516043466116/
       DATA UUO(134)/"604147451600/
       DATA UUO(135)/"636563456416/
       DATA UUO(136)/"435755606416/
       DATA UUO(137)/"647160636416/
       DATA UUO(138)/"455661160000/
       DATA UUO(139)/"444561160000/
       DATA UUO(140)/"455661431600/
       DATA UUO(141)/"644160576016/
       DATA UUO(142)/"465154576016/
       DATA UUO(143)/"434154273016/
       DATA UUO(144)/"565744451600/
       DATA UUO(145)/"456262606416/
       DATA UUO(146)/"415454574316/
       DATA UUO(147)/"604562461600/
       DATA UUO(148)/"212623000000/
       DATA UUO(149)/"212624000000/
       DATA UUO(150)/"212625000000/
       DATA UUO(151)/"212626000000/
       DATA UUO(152)/"212627000000/
       DATA UUO(153)/"212720000000/
       DATA UUO(154)/"212721000000/
       DATA UUO(155)/"212722000000/
       DATA UUO(156)/"212723000000/
       DATA UUO(157)/"212724000000/
       DATA UUO(158)/"212725000000/
       DATA UUO(159)/"212726000000/
       DATA UUO(160)/"212727000000/
       DATA UUO(161)/"222020000000/
       DATA UUO(162)/"222021000000/
       DATA UUO(163)/"222022000000/
       DATA UUO(164)/"222023000000/
       DATA UUO(165)/"222024000000/
       DATA UUO(166)/"222025000000/
       DATA UUO(167)/"222026000000/
       DATA UUO(168)/"222027000000/
       DATA UUO(169)/"222120000000/
       DATA UUO(170)/"222121000000/
       DATA UUO(171)/"222122000000/
       DATA UUO(172)/"222123000000/
       DATA UUO(173)/"222124000000/
       DATA UUO(174)/"222125000000/
       DATA UUO(175)/"222126000000/
       DATA UUO(176)/"222127000000/
       DATA UUO(177)/"222220000000/
       DATA UUO(178)/"222221000000/
       DATA UUO(179)/"222222000000/
       DATA UUO(180)/"222223000000/
       DATA UUO(181)/"222224000000/
       DATA UUO(182)/"222225000000/
       DATA UUO(183)/"222226000000/
       DATA UUO(184)/"222227000000/
       DATA UUO(185)/"222320000000/
       DATA UUO(186)/"222321000000/
       DATA UUO(187)/"222322000000/
       DATA UUO(188)/"222323000000/
       DATA UUO(189)/"222324000000/
       DATA UUO(190)/"222325000000/
       DATA UUO(191)/"222326000000/
       DATA UUO(192)/"645757425147/
C
C	DEFINE ENTRIES IN THE OPCODE TABLE
C	LIKE THE UUO'S, THEY ARE SIXBIT
C	ENTRIES 1-512 CORRESPOND TO MACHINE OPCODES 0-777
C
       DATA OPCOD(  1)/"515454515663/
       DATA OPCOD(  2)/"546565570000/
       DATA OPCOD(  3)/"546565570000/
       DATA OPCOD(  4)/"546565570000/
       DATA OPCOD(  5)/"546565570000/
       DATA OPCOD(  6)/"546565570000/
       DATA OPCOD(  7)/"546565570000/
       DATA OPCOD(  8)/"546565570000/
       DATA OPCOD(  9)/"546565570000/
       DATA OPCOD( 10)/"546565570000/
       DATA OPCOD( 11)/"546565570000/
       DATA OPCOD( 12)/"546565570000/
       DATA OPCOD( 13)/"546565570000/
       DATA OPCOD( 14)/"546565570000/
       DATA OPCOD( 15)/"546565570000/
       DATA OPCOD( 16)/"546565570000/
       DATA OPCOD( 17)/"546565570000/
       DATA OPCOD( 18)/"546565570000/
       DATA OPCOD( 19)/"546565570000/
       DATA OPCOD( 20)/"546565570000/
       DATA OPCOD( 21)/"546565570000/
       DATA OPCOD( 22)/"546565570000/
       DATA OPCOD( 23)/"546565570000/
       DATA OPCOD( 24)/"546565570000/
       DATA OPCOD( 25)/"546565570000/
       DATA OPCOD( 26)/"546565570000/
       DATA OPCOD( 27)/"546565570000/
       DATA OPCOD( 28)/"546565570000/
       DATA OPCOD( 29)/"546565570000/
       DATA OPCOD( 30)/"546565570000/
       DATA OPCOD( 31)/"546565570000/
       DATA OPCOD( 32)/"546565570000/
       DATA OPCOD( 33)/"556565570000/
       DATA OPCOD( 34)/"556565570000/
       DATA OPCOD( 35)/"556565570000/
       DATA OPCOD( 36)/"556565570000/
       DATA OPCOD( 37)/"556565570000/
       DATA OPCOD( 38)/"556565570000/
       DATA OPCOD( 39)/"556565570000/
       DATA OPCOD( 40)/"556565570000/
       DATA OPCOD( 41)/"556565570000/
       DATA OPCOD( 42)/"556565570000/
       DATA OPCOD( 43)/"556565570000/
       DATA OPCOD( 44)/"556565570000/
       DATA OPCOD( 45)/"556565570000/
       DATA OPCOD( 46)/"556565570000/
       DATA OPCOD( 47)/"556565570000/
       DATA OPCOD( 48)/"556565570000/
       DATA OPCOD( 49)/"556565570000/
       DATA OPCOD( 50)/"556565570000/
       DATA OPCOD( 51)/"556565570000/
       DATA OPCOD( 52)/"556565570000/
       DATA OPCOD( 53)/"556565570000/
       DATA OPCOD( 54)/"556565570000/
       DATA OPCOD( 55)/"556565570000/
       DATA OPCOD( 56)/"556565570000/
       DATA OPCOD( 57)/"556565570000/
       DATA OPCOD( 58)/"556565570000/
       DATA OPCOD( 59)/"556565570000/
       DATA OPCOD( 60)/"556565570000/
       DATA OPCOD( 61)/"556565570000/
       DATA OPCOD( 62)/"556565570000/
       DATA OPCOD( 63)/"556565570000/
       DATA OPCOD( 64)/"556565570000/
       DATA OPCOD( 65)/"655245560000/
       DATA OPCOD( 66)/"212021000000/
       DATA OPCOD( 67)/"212022000000/
       DATA OPCOD( 68)/"212023000000/
       DATA OPCOD( 69)/"212024000000/
       DATA OPCOD( 70)/"212025000000/
       DATA OPCOD( 71)/"212026000000/
       DATA OPCOD( 72)/"212027000000/
       DATA OPCOD( 73)/"444641440000/
       DATA OPCOD( 74)/"444663420000/
       DATA OPCOD( 75)/"444655600000/
       DATA OPCOD( 76)/"444644660000/
       DATA OPCOD( 77)/"212124000000/
       DATA OPCOD( 78)/"212125000000/
       DATA OPCOD( 79)/"212126000000/
       DATA OPCOD( 80)/"212127000000/
       DATA OPCOD( 81)/"445557664500/
       DATA OPCOD( 82)/"445557665600/
       DATA OPCOD( 83)/"465170000000/
       DATA OPCOD( 84)/"212223000000/
       DATA OPCOD( 85)/"445557664555/
       DATA OPCOD( 86)/"445557665655/
       DATA OPCOD( 87)/"465170620000/
       DATA OPCOD( 88)/"465464620000/
       DATA OPCOD( 89)/"654641000000/
       DATA OPCOD( 90)/"444656000000/
       DATA OPCOD( 91)/"466343000000/
       DATA OPCOD( 92)/"514260000000/
       DATA OPCOD( 93)/"515444420000/
       DATA OPCOD( 94)/"544442000000/
       DATA OPCOD( 95)/"514460420000/
       DATA OPCOD( 96)/"446042000000/
       DATA OPCOD( 97)/"464144000000/
       DATA OPCOD( 98)/"464144540000/
       DATA OPCOD( 99)/"464144550000/
       DATA OPCOD(100)/"464144420000/
       DATA OPCOD(101)/"464144620000/
       DATA OPCOD(102)/"464144625100/
       DATA OPCOD(103)/"464144625500/
       DATA OPCOD(104)/"464144624200/
       DATA OPCOD(105)/"466342000000/
       DATA OPCOD(106)/"466342540000/
       DATA OPCOD(107)/"466342550000/
       DATA OPCOD(108)/"466342420000/
       DATA OPCOD(109)/"466342620000/
       DATA OPCOD(110)/"466342625100/
       DATA OPCOD(111)/"466342625500/
       DATA OPCOD(112)/"466342624200/
       DATA OPCOD(113)/"465560000000/
       DATA OPCOD(114)/"465560540000/
       DATA OPCOD(115)/"465560550000/
       DATA OPCOD(116)/"465560420000/
       DATA OPCOD(117)/"465560620000/
       DATA OPCOD(118)/"465560625100/
       DATA OPCOD(119)/"465560625500/
       DATA OPCOD(120)/"465560624200/
       DATA OPCOD(121)/"464466000000/
       DATA OPCOD(122)/"464466540000/
       DATA OPCOD(123)/"464466550000/
       DATA OPCOD(124)/"464466420000/
       DATA OPCOD(125)/"464466620000/
       DATA OPCOD(126)/"464466625100/
       DATA OPCOD(127)/"464466625500/
       DATA OPCOD(128)/"464466624200/
       DATA OPCOD(129)/"555766450000/
       DATA OPCOD(130)/"555766455100/
       DATA OPCOD(131)/"555766455500/
       DATA OPCOD(132)/"555766456300/
       DATA OPCOD(133)/"555766630000/
       DATA OPCOD(134)/"555766635100/
       DATA OPCOD(135)/"555766635500/
       DATA OPCOD(136)/"555766636300/
       DATA OPCOD(137)/"555766560000/
       DATA OPCOD(138)/"555766565100/
       DATA OPCOD(139)/"555766565500/
       DATA OPCOD(140)/"555766566300/
       DATA OPCOD(141)/"555766550000/
       DATA OPCOD(142)/"555766555100/
       DATA OPCOD(143)/"555766555500/
       DATA OPCOD(144)/"555766556300/
       DATA OPCOD(145)/"515565540000/
       DATA OPCOD(146)/"515565545100/
       DATA OPCOD(147)/"515565545500/
       DATA OPCOD(148)/"515565544200/
       DATA OPCOD(149)/"556554000000/
       DATA OPCOD(150)/"556554510000/
       DATA OPCOD(151)/"556554550000/
       DATA OPCOD(152)/"556554420000/
       DATA OPCOD(153)/"514451660000/
       DATA OPCOD(154)/"514451665100/
       DATA OPCOD(155)/"514451665500/
       DATA OPCOD(156)/"514451664200/
       DATA OPCOD(157)/"445166000000/
       DATA OPCOD(158)/"445166510000/
       DATA OPCOD(159)/"445166550000/
       DATA OPCOD(160)/"445166420000/
       DATA OPCOD(161)/"416350000000/
       DATA OPCOD(162)/"625764000000/
       DATA OPCOD(163)/"546350000000/
       DATA OPCOD(164)/"524646570000/
       DATA OPCOD(165)/"416350430000/
       DATA OPCOD(166)/"625764430000/
       DATA OPCOD(167)/"546350430000/
       DATA OPCOD(168)/"222427000000/
       DATA OPCOD(169)/"457043500000/
       DATA OPCOD(170)/"425464000000/
       DATA OPCOD(171)/"415742526000/
       DATA OPCOD(172)/"415742525600/
       DATA OPCOD(173)/"526263640000/
       DATA OPCOD(174)/"524643540000/
       DATA OPCOD(175)/"704364000000/
       DATA OPCOD(176)/"554160000000/
       DATA OPCOD(177)/"606563505200/
       DATA OPCOD(178)/"606563500000/
       DATA OPCOD(179)/"605760000000/
       DATA OPCOD(180)/"605760520000/
       DATA OPCOD(181)/"526362000000/
       DATA OPCOD(182)/"526360000000/
       DATA OPCOD(183)/"526341000000/
       DATA OPCOD(184)/"526241000000/
       DATA OPCOD(185)/"414444000000/
       DATA OPCOD(186)/"414444510000/
       DATA OPCOD(187)/"414444550000/
       DATA OPCOD(188)/"414444420000/
       DATA OPCOD(189)/"636542000000/
       DATA OPCOD(190)/"636542510000/
       DATA OPCOD(191)/"636542550000/
       DATA OPCOD(192)/"636542420000/
       DATA OPCOD(193)/"434151000000/
       DATA OPCOD(194)/"434151540000/
       DATA OPCOD(195)/"434151450000/
       DATA OPCOD(196)/"434151544500/
       DATA OPCOD(197)/"434151410000/
       DATA OPCOD(198)/"434151474500/
       DATA OPCOD(199)/"434151560000/
       DATA OPCOD(200)/"434151470000/
       DATA OPCOD(201)/"434155000000/
       DATA OPCOD(202)/"434155540000/
       DATA OPCOD(203)/"434155450000/
       DATA OPCOD(204)/"434155544500/
       DATA OPCOD(205)/"434155410000/
       DATA OPCOD(206)/"434155474500/
       DATA OPCOD(207)/"434155560000/
       DATA OPCOD(208)/"434155470000/
       DATA OPCOD(209)/"526555600000/
       DATA OPCOD(210)/"526555605400/
       DATA OPCOD(211)/"526555604500/
       DATA OPCOD(212)/"526555605445/
       DATA OPCOD(213)/"526555604100/
       DATA OPCOD(214)/"526555604745/
       DATA OPCOD(215)/"526555605600/
       DATA OPCOD(216)/"526555604700/
       DATA OPCOD(217)/"635351600000/
       DATA OPCOD(218)/"635351605400/
       DATA OPCOD(219)/"635351604500/
       DATA OPCOD(220)/"635351605445/
       DATA OPCOD(221)/"635351604100/
       DATA OPCOD(222)/"635351604745/
       DATA OPCOD(223)/"635351605600/
       DATA OPCOD(224)/"635351604700/
       DATA OPCOD(225)/"415752000000/
       DATA OPCOD(226)/"415752540000/
       DATA OPCOD(227)/"415752450000/
       DATA OPCOD(228)/"415752544500/
       DATA OPCOD(229)/"415752410000/
       DATA OPCOD(230)/"415752474500/
       DATA OPCOD(231)/"415752560000/
       DATA OPCOD(232)/"415752470000/
       DATA OPCOD(233)/"415763000000/
       DATA OPCOD(234)/"415763540000/
       DATA OPCOD(235)/"415763450000/
       DATA OPCOD(236)/"415763544500/
       DATA OPCOD(237)/"415763410000/
       DATA OPCOD(238)/"415763474500/
       DATA OPCOD(239)/"415763560000/
       DATA OPCOD(240)/"415763470000/
       DATA OPCOD(241)/"635752000000/
       DATA OPCOD(242)/"635752540000/
       DATA OPCOD(243)/"635752450000/
       DATA OPCOD(244)/"635752544500/
       DATA OPCOD(245)/"635752410000/
       DATA OPCOD(246)/"635752474500/
       DATA OPCOD(247)/"635752560000/
       DATA OPCOD(248)/"635752470000/
       DATA OPCOD(249)/"635763000000/
       DATA OPCOD(250)/"635763540000/
       DATA OPCOD(251)/"635763450000/
       DATA OPCOD(252)/"635763544500/
       DATA OPCOD(253)/"635763410000/
       DATA OPCOD(254)/"635763474500/
       DATA OPCOD(255)/"635763560000/
       DATA OPCOD(256)/"635763470000/
       DATA OPCOD(257)/"634564720000/
       DATA OPCOD(258)/"634564725100/
       DATA OPCOD(259)/"634564725500/
       DATA OPCOD(260)/"634564724200/
       DATA OPCOD(261)/"415644000000/
       DATA OPCOD(262)/"415644510000/
       DATA OPCOD(263)/"415644550000/
       DATA OPCOD(264)/"415644420000/
       DATA OPCOD(265)/"415644434100/
       DATA OPCOD(266)/"415644434151/
       DATA OPCOD(267)/"415644434155/
       DATA OPCOD(268)/"415644434142/
       DATA OPCOD(269)/"634564550000/
       DATA OPCOD(270)/"634564555100/
       DATA OPCOD(271)/"634564555500/
       DATA OPCOD(272)/"634564554200/
       DATA OPCOD(273)/"415644435500/
       DATA OPCOD(274)/"415644435551/
       DATA OPCOD(275)/"415644435555/
       DATA OPCOD(276)/"415644435542/
       DATA OPCOD(277)/"634564410000/
       DATA OPCOD(278)/"634564415100/
       DATA OPCOD(279)/"634564415500/
       DATA OPCOD(280)/"634564414200/
       DATA OPCOD(281)/"705762000000/
       DATA OPCOD(282)/"705762510000/
       DATA OPCOD(283)/"705762550000/
       DATA OPCOD(284)/"705762420000/
       DATA OPCOD(285)/"515762000000/
       DATA OPCOD(286)/"515762510000/
       DATA OPCOD(287)/"515762550000/
       DATA OPCOD(288)/"515762420000/
       DATA OPCOD(289)/"415644434200/
       DATA OPCOD(290)/"415644434251/
       DATA OPCOD(291)/"415644434255/
       DATA OPCOD(292)/"415644434242/
       DATA OPCOD(293)/"456166000000/
       DATA OPCOD(294)/"456166510000/
       DATA OPCOD(295)/"456166550000/
       DATA OPCOD(296)/"456166420000/
       DATA OPCOD(297)/"634564434100/
       DATA OPCOD(298)/"634564434151/
       DATA OPCOD(299)/"634564434155/
       DATA OPCOD(300)/"634564434142/
       DATA OPCOD(301)/"576243410000/
       DATA OPCOD(302)/"576243415100/
       DATA OPCOD(303)/"576243415500/
       DATA OPCOD(304)/"576243414200/
       DATA OPCOD(305)/"634564435500/
       DATA OPCOD(306)/"634564435551/
       DATA OPCOD(307)/"634564435555/
       DATA OPCOD(308)/"634564435542/
       DATA OPCOD(309)/"576243550000/
       DATA OPCOD(310)/"576243555100/
       DATA OPCOD(311)/"576243555500/
       DATA OPCOD(312)/"576243554200/
       DATA OPCOD(313)/"576243420000/
       DATA OPCOD(314)/"576243425100/
       DATA OPCOD(315)/"576243425500/
       DATA OPCOD(316)/"576243424200/
       DATA OPCOD(317)/"634564570000/
       DATA OPCOD(318)/"634564575100/
       DATA OPCOD(319)/"634564575500/
       DATA OPCOD(320)/"634564574200/
       DATA OPCOD(321)/"505454000000/
       DATA OPCOD(322)/"505454510000/
       DATA OPCOD(323)/"505454550000/
       DATA OPCOD(324)/"505454630000/
       DATA OPCOD(325)/"506254000000/
       DATA OPCOD(326)/"506254510000/
       DATA OPCOD(327)/"506254550000/
       DATA OPCOD(328)/"506254630000/
       DATA OPCOD(329)/"505454720000/
       DATA OPCOD(330)/"505454725100/
       DATA OPCOD(331)/"505454725500/
       DATA OPCOD(332)/"505454726300/
       DATA OPCOD(333)/"506254720000/
       DATA OPCOD(334)/"506254725100/
       DATA OPCOD(335)/"506254725500/
       DATA OPCOD(336)/"506254726300/
       DATA OPCOD(337)/"505454570000/
       DATA OPCOD(338)/"505454575100/
       DATA OPCOD(339)/"505454575500/
       DATA OPCOD(340)/"505454576300/
       DATA OPCOD(341)/"506254570000/
       DATA OPCOD(342)/"506254575100/
       DATA OPCOD(343)/"506254575500/
       DATA OPCOD(344)/"506254576300/
       DATA OPCOD(345)/"505454450000/
       DATA OPCOD(346)/"505454455100/
       DATA OPCOD(347)/"505454455500/
       DATA OPCOD(348)/"505454456300/
       DATA OPCOD(349)/"506254450000/
       DATA OPCOD(350)/"506254455100/
       DATA OPCOD(351)/"506254455500/
       DATA OPCOD(352)/"506254456300/
       DATA OPCOD(353)/"506262000000/
       DATA OPCOD(354)/"506262510000/
       DATA OPCOD(355)/"506262550000/
       DATA OPCOD(356)/"506262630000/
       DATA OPCOD(357)/"505462000000/
       DATA OPCOD(358)/"505462510000/
       DATA OPCOD(359)/"505462550000/
       DATA OPCOD(360)/"505462630000/
       DATA OPCOD(361)/"506262720000/
       DATA OPCOD(362)/"506262725100/
       DATA OPCOD(363)/"506262725500/
       DATA OPCOD(364)/"506262726300/
       DATA OPCOD(365)/"505462720000/
       DATA OPCOD(366)/"505462725100/
       DATA OPCOD(367)/"505462725500/
       DATA OPCOD(368)/"505462726300/
       DATA OPCOD(369)/"506262570000/
       DATA OPCOD(370)/"506262575100/
       DATA OPCOD(371)/"506262575500/
       DATA OPCOD(372)/"506262576300/
       DATA OPCOD(373)/"505462570000/
       DATA OPCOD(374)/"505462575100/
       DATA OPCOD(375)/"505462575500/
       DATA OPCOD(376)/"505462576300/
       DATA OPCOD(377)/"506262450000/
       DATA OPCOD(378)/"506262455100/
       DATA OPCOD(379)/"506262455500/
       DATA OPCOD(380)/"506262456300/
       DATA OPCOD(381)/"505462450000/
       DATA OPCOD(382)/"505462455100/
       DATA OPCOD(383)/"505462455500/
       DATA OPCOD(384)/"505462456300/
       DATA OPCOD(385)/"646256000000/
       DATA OPCOD(386)/"645456000000/
       DATA OPCOD(387)/"646256450000/
       DATA OPCOD(388)/"645456450000/
       DATA OPCOD(389)/"646256410000/
       DATA OPCOD(390)/"645456410000/
       DATA OPCOD(391)/"646256560000/
       DATA OPCOD(392)/"645456560000/
       DATA OPCOD(393)/"644456000000/
       DATA OPCOD(394)/"646356000000/
       DATA OPCOD(395)/"644456450000/
       DATA OPCOD(396)/"646356450000/
       DATA OPCOD(397)/"644456410000/
       DATA OPCOD(398)/"646356410000/
       DATA OPCOD(399)/"644456560000/
       DATA OPCOD(400)/"646356560000/
       DATA OPCOD(401)/"646272000000/
       DATA OPCOD(402)/"645472000000/
       DATA OPCOD(403)/"646272450000/
       DATA OPCOD(404)/"645472450000/
       DATA OPCOD(405)/"646272410000/
       DATA OPCOD(406)/"645472410000/
       DATA OPCOD(407)/"646272560000/
       DATA OPCOD(408)/"645472560000/
       DATA OPCOD(409)/"644472000000/
       DATA OPCOD(410)/"646372000000/
       DATA OPCOD(411)/"644472450000/
       DATA OPCOD(412)/"646372450000/
       DATA OPCOD(413)/"644472410000/
       DATA OPCOD(414)/"646372410000/
       DATA OPCOD(415)/"644472560000/
       DATA OPCOD(416)/"646372560000/
       DATA OPCOD(417)/"646243000000/
       DATA OPCOD(418)/"645443000000/
       DATA OPCOD(419)/"646243450000/
       DATA OPCOD(420)/"645443450000/
       DATA OPCOD(421)/"646243410000/
       DATA OPCOD(422)/"645443410000/
       DATA OPCOD(423)/"646243560000/
       DATA OPCOD(424)/"645443560000/
       DATA OPCOD(425)/"644443000000/
       DATA OPCOD(426)/"646343000000/
       DATA OPCOD(427)/"644443450000/
       DATA OPCOD(428)/"646343450000/
       DATA OPCOD(429)/"644443410000/
       DATA OPCOD(430)/"646343410000/
       DATA OPCOD(431)/"644443560000/
       DATA OPCOD(432)/"646343560000/
       DATA OPCOD(433)/"646257000000/
       DATA OPCOD(434)/"645457000000/
       DATA OPCOD(435)/"646257450000/
       DATA OPCOD(436)/"645457450000/
       DATA OPCOD(437)/"646257410000/
       DATA OPCOD(438)/"645457410000/
       DATA OPCOD(439)/"646257560000/
       DATA OPCOD(440)/"645457560000/
       DATA OPCOD(441)/"644457000000/
       DATA OPCOD(442)/"646357000000/
       DATA OPCOD(443)/"644457450000/
       DATA OPCOD(444)/"646357450000/
       DATA OPCOD(445)/"644457410000/
       DATA OPCOD(446)/"646357410000/
       DATA OPCOD(447)/"644457560000/
       DATA OPCOD(448)/"646357560000/
       DATA OPCOD(449)/"272020000000/
       DATA OPCOD(450)/"272021000000/
       DATA OPCOD(451)/"272022000000/
       DATA OPCOD(452)/"272023000000/
       DATA OPCOD(453)/"272024000000/
       DATA OPCOD(454)/"272025000000/
       DATA OPCOD(455)/"272026000000/
       DATA OPCOD(456)/"272027000000/
       DATA OPCOD(457)/"272120000000/
       DATA OPCOD(458)/"272121000000/
       DATA OPCOD(459)/"272122000000/
       DATA OPCOD(460)/"272123000000/
       DATA OPCOD(461)/"272124000000/
       DATA OPCOD(462)/"272125000000/
       DATA OPCOD(463)/"272126000000/
       DATA OPCOD(464)/"272127000000/
       DATA OPCOD(465)/"272220000000/
       DATA OPCOD(466)/"272221000000/
       DATA OPCOD(467)/"272222000000/
       DATA OPCOD(468)/"272223000000/
       DATA OPCOD(469)/"272224000000/
       DATA OPCOD(470)/"272225000000/
       DATA OPCOD(471)/"272226000000/
       DATA OPCOD(472)/"272227000000/
       DATA OPCOD(473)/"272320000000/
       DATA OPCOD(474)/"272321000000/
       DATA OPCOD(475)/"272322000000/
       DATA OPCOD(476)/"272323000000/
       DATA OPCOD(477)/"272324000000/
       DATA OPCOD(478)/"272325000000/
       DATA OPCOD(479)/"272326000000/
       DATA OPCOD(480)/"272327000000/
       DATA OPCOD(481)/"272420000000/
       DATA OPCOD(482)/"272421000000/
       DATA OPCOD(483)/"272422000000/
       DATA OPCOD(484)/"272423000000/
       DATA OPCOD(485)/"272424000000/
       DATA OPCOD(486)/"272425000000/
       DATA OPCOD(487)/"272426000000/
       DATA OPCOD(488)/"272427000000/
       DATA OPCOD(489)/"272520000000/
       DATA OPCOD(490)/"272521000000/
       DATA OPCOD(491)/"272522000000/
       DATA OPCOD(492)/"272523000000/
       DATA OPCOD(493)/"272524000000/
       DATA OPCOD(494)/"272525000000/
       DATA OPCOD(495)/"272526000000/
       DATA OPCOD(496)/"272527000000/
       DATA OPCOD(497)/"272620000000/
       DATA OPCOD(498)/"272621000000/
       DATA OPCOD(499)/"272622000000/
       DATA OPCOD(500)/"272623000000/
       DATA OPCOD(501)/"272624000000/
       DATA OPCOD(502)/"272625000000/
       DATA OPCOD(503)/"272626000000/
       DATA OPCOD(504)/"272627000000/
       DATA OPCOD(505)/"272720000000/
       DATA OPCOD(506)/"272721000000/
       DATA OPCOD(507)/"272722000000/
       DATA OPCOD(508)/"272723000000/
       DATA OPCOD(509)/"272724000000/
       DATA OPCOD(510)/"272725000000/
       DATA OPCOD(511)/"272726000000/
       DATA OPCOD(512)/"272727000000/
	CYCLE = 0
100	IF (CYCLE .NE. 0) CALL RHISTN
	CALL RHIST(DATA,IDATLN,FILNAM)
C
	IF (BUGS .NE. 0) PRINT 9900, BUGS
C
C	CHECK FOR THE CORRECT FORMAT IN HIST.DAT
C
	IF (HEADLN .NE. 47) GO TO 900
	ITYPE = USERF - USERF/8*8
	NOPC = 0
	IF (USERF/8 .NE. USERF/16*2) NOPC = 512
	NUUO = 0
	IF (USERF/16 .NE. USERF/32*2) NUUO = 192
	NWS = 0
	IF (ITYPE .EQ. 4) NWS = 32
	IF (HEADLN+MONLIM+LOSLIM+HISLIM+NOPC+NWS+NUUO .GT. IDATLN)
     1	GO TO 910
	IF (TOTAL .EQ. 0) GO TO 920
	PRINT 9001
	LINE=1
C
C	DISPATCH ACCORDING TO THE KIND OF DATA TAKEN
C
	GO TO (1000,2000,3000,4000), ITYPE
C
C	ANALYSIS OF TIME AT SOME PI LEVEL
C
1000	CONTINUE
	IF (INTLVL .GT. 0) PRINT 9002, INTLVL, MONRES
	IF (INTLVL .EQ. -1) PRINT 9007, MONRES
	LINE = LINE + 1
	ASSIGN 1010 TO NEXT
	GO TO 110
1010	X = 100. * PITOT / TOTAL
	PRINT 9015, X
	LINE = LINE + 2
	IF (INTLVL .EQ. -1) GO TO 1020
	SEGMNT(1) = LEVEL
	SEGMNT(2) = NUMB(INTLVL)
	GO TO 2020
1020	SEGMNT(1) = PISR
	SEGMNT(2) = VC
	GO TO 2020
C
C	ANALYSIS OF TIME IN MONITOR MODE
C
2000	CONTINUE
	IF (INTLVL .EQ. 0) PRINT 9003, MONRES
	IF (INTLVL .EQ. -1) PRINT 9004, MONRES
	LINE = LINE + 1
	ASSIGN 2010 TO NEXT
	GO TO 110
2010	IF (INTLVL .EQ. 0) X = 100. * MONTOT / TOTAL
	IF (INTLVL .EQ. -1) X = 100. * (MONTOT - PITOT) / TOTAL
	PRINT 9016, X
	LINE = LINE + 2
	X=100. * PITOT / TOTAL
	PRINT 9020, X
	LINE = LINE + 1
	SEGMNT(1) = MONIT
	SEGMNT(2) = OR
2020	DO 2030 I=1,7
	IF (PITAB(I) .EQ. 0) GO TO 2030
	X=100. * PITAB(I) / TOTAL
	PRINT 9021, X, I
	LINE = LINE + 1
2030	CONTINUE
2050	X = MONTOT
	ASSIGN 2060 TO NEXT
	GO TO 300
2060	ASSIGN 2100 TO NEXT
	IF (NUUO .NE. 0) GO TO 400
C
C	PRINT MONITOR HISTOGRAM
C
2100	IF ((MONMAX .EQ. 0) .OR. (MONTOT .EQ. 0)) GO TO 100
	ASSIGN 2110 TO NEXT
	GO TO 200
2110	PRINT 9052, I, MONMAX
	CALL PRHIST(0, MONMAX, MONLIM, MONRES, HISTOG(MONTAB),
     1	MONTOT, TOTAL, SEGMNT, 'SYS',0)
	GO TO 100
C
C	ANALYSIS OF TIME SPENT BY SOME CUSP
C
3000	CONTINUE
	LNAME(1) = ANY
	LNAME(2) = 0
	IF (LOSNAM .NE. -1) CALL TRAN67(LOSNAM, LNAME)
	HNAME(1) = ANY
	HNAME(2) = 0
	IF (HISNAM .NE. -1) CALL TRAN67(HISNAM, HNAME)
	PRINT 9005, LNAME(1), LNAME(2), LOSRES, HNAME(1), HNAME(2), HISRES
	LINE = LINE + 2
	ASSIGN 3005 TO NEXT
	GO TO 110
3005	IF (NUUO .EQ. 0) GO TO 3010
	MONTOT = UUOTOT
	PRINT 9017
	LINE = LINE + 3
3010	X=100. * MONTOT / TOTAL
	PRINT 9016, X
	LINE = LINE + 2
	PRINT 9018, LNAME(1), LNAME(2), HNAME(1), HNAME(2)
	LINE = LINE + 1
	X=100. * LOSTOT / TOTAL
	Y=100. * HISTOT / TOTAL
	PRINT 9019, X, Y
	LINE = LINE + 1
	JOBTOT = LOSTOT + HISTOT + MONTOT
	IF (NUUO .NE. 0) JOBTOT = LOSTOT + HISTOT
	IF (JOBTOT .EQ. 0) GO TO 920
	X= 100. * LOSTOT / JOBTOT
	Y= 100. * HISTOT / JOBTOT
	Z= 100. * MONTOT / JOBTOT
	PRINT 9022, X, Y, Z
	LINE = LINE + 4
	IMIN = JOBTOT / (100000/INTRVL) / 60
	SEC = JOBTOT / (100000./INTRVL) - IMIN*60
	PRINT 9023, IMIN, SEC
	LINE = LINE + 1
	IF ((NWS .EQ. 0) .OR. (MAXWS .EQ. 0)) GO TO 3050
C
C	LIST TIMES IN WAIT STATES FOR JOB
C
	CALL STCODE(STATES)
	PRINT 9030
	LINE = LINE + 3
	Y = 100. / TOTAL
	Z = 90. / MAXWS
	DO 3020 I=NQUE, NQUE+NWS-1
	HIST = HISTOG(I)
	IF (HIST .EQ. 0) GO TO 3020
	X = HIST * Y
	N = HIST * Z + 1
	J = I - NQUE + 1
	JFAKE = J - 1
	PRINT 9031, X, STATES(J), JFAKE, (ASTRK(J), J=1,N)
	LINE = LINE + 1
3020	CONTINUE
3050	X = LOSTOT + HISTOT
	ASSIGN 3060 TO NEXT
	GO TO 300
3060	ASSIGN 3100 TO NEXT
	IF (NUUO .NE. 0) GO TO 400
C
C	PRINT HISTOGRAM FOR LOW SEGMENT
C
3100	CONTINUE
	IF ((LOSMAX .EQ. 0) .OR. (LOSTOT .EQ. 0)) GO TO 3115
	ASSIGN 3110 TO NEXT
	GO TO 200
3110	PRINT 9050, I, LNAME(1), LNAME(2), LOSMAX
	IMNF=1
	IF(LOSMAX.GT.I400K) IMNF=0
	CALL PRHIST (LOSNAM, LOSMAX, LOSLIM, LOSRES, HISTOG(LOSTAB),
     1	LOSTOT, JOBTOT, 'LOW SEG','JOB',IMNF)
C
C	HISTOGRAM FOR HIGH SEGMENT
C
3115	IF ((HISMAX .EQ. 0) .OR. (HISTOT .EQ. 0)) GO TO 3125
	HISMX4 = HISMAX + I400K
	ASSIGN 3120 TO NEXT
	GO TO 200
3120	PRINT 9051, I, HNAME(1), HNAME(2), HISMX4
	CALL PRHIST (HISNAM, HISMX4, HISLIM, HISRES, HISTOG(HISTAB),
     1	HISTOT, JOBTOT, 'HIGH SEG','JOB',1)
C
C	PRINT MONITOR HISTOGRAM
C
3125	IF ((MONMAX .EQ. 0) .OR. (MONTOT .EQ. 0) .OR. (NUUO .NE. 0))
     1	GO TO 100
	ASSIGN 3130 TO NEXT
	GO TO 200
3130	PRINT 9052, I, MONMAX
	CALL PRHIST (0, MONMAX, MONLIM, MONRES, HISTOG(MONTAB),
     1	MONTOT, JOBTOT, 'MONITOR','JOB',0)
	GO TO 100
C
C	ANALYZE TIME SPENT IN SOME JOB
C
4000	CONTINUE
	PRINT 9006, JOBNO
	LINE = LINE + 1
	GO TO 3000
C
C	COMMON INITIALIZATION FOR ALL FUNCTIONS
C
110	IF (COMENT(1) .EQ. 0) GO TO 115
	PRINT 9014, (COMENT(I), I=1,10)
	LINE = LINE + 2
115	IF (CPUN.GE.0) PRINT 9010, INTRVL, CPUN, WCHAN, (CONFIG(I), I=1,7)
	IF (CPUN.LT.0) PRINT 9009, INTRVL, WCHAN, (CONFIG(I), I=1,7)
	LINE = LINE + 6
	IYEAR= TODAY / 31 / 12 + 1964
	IMONTH= TODAY / 31 - (IYEAR-1964) * 12
	IDAY= TODAY+1 - (TODAY/31) * 31
	IHOUR= NOW  / 1000 / 60 / 60
	IMIN= NOW / 1000 / 60 - IHOUR * 60
	ISEC= NOW / 1000 - (NOW/1000/60) * 60
	PRINT 9011, IHOUR, IMIN, ISEC, MONTHS(IMONTH+1), IDAY, IYEAR
	LINE = LINE + 1
	IMIN= TOTAL / (100000/INTRVL) / 60
	SEC= TOTAL / (100000./INTRVL) - IMIN * 60
	PRINT 9012, IMIN, SEC
	LINE = LINE + 1
	CALL TRAN67(FILNAM(1),FNAME(1))
	CALL TRAN67(FILNAM(2),FNAME(3))
	PRINT 9013, (FNAME(I), I=1,3)
	LINE = LINE + 1
C
C	COMPUTE SOME SUBTOTALS AND SETUP POINTERS INTO HISTOG
C
	NMAX=0
	LOSTOT=0
	LOSTAB=1
	IF (LOSLIM .EQ. 0) GO TO 130
	DO 120 I=LOSTAB,LOSLIM
	IF (NMAX .LT. HISTOG(I)) NMAX = HISTOG(I)
120	LOSTOT= LOSTOT + HISTOG(I)
130	HISTOT=0
	HISTAB= LOSTAB + LOSLIM
	IF (HISLIM .EQ. 0) GO TO 150
	DO 140 I=HISTAB,HISTAB+HISLIM-1
	IF (NMAX .LT. HISTOG(I)) NMAX = HISTOG(I)
140	HISTOT= HISTOT + HISTOG(I)
150	MONTOT=0
	MONTAB= HISTAB + HISLIM
	IF (MONLIM .EQ. 0) GO TO 162
	DO 160 I=MONTAB,MONTAB+MONLIM-1
	IF (NMAX .LT. HISTOG(I)) NMAX = HISTOG(I)
160	MONTOT= MONTOT + HISTOG(I)
162	UUOTAB = MONTAB + MONLIM
	UUOTOT = 0
	MAXUUO = 0
	IF (NUUO .EQ. 0) GO TO 170
	DO 164 I=UUOTAB, UUOTAB+NUUO-1
	IF (MAXUUO .LT. HISTOG(I)) MAXUUO = HISTOG(I)
164	UUOTOT = UUOTOT + HISTOG(I)
170	OPCTAB = UUOTAB + NUUO
	MAXOPC = 0
	IF (NOPC .EQ. 0) GO TO 174
	IOPCNT=0
	DO 172 I=OPCTAB, OPCTAB+NOPC-1
	IOPCNT=IOPCNT+HISTOG(I)
172	IF (HISTOG(I) .GT. MAXOPC) MAXOPC = HISTOG(I)
174	NQUE = OPCTAB + NOPC
	MAXWS = 0
	IF (NWS .EQ. 0) GO TO 180
	DO 176 I=NQUE, NQUE+NWS-1
176	IF (HISTOG(I) .GT. MAXWS) MAXWS = HISTOG(I)
180	PITOT=0
	DO 190 I=1,7
190	PITOT= PITOT + PITAB(I)
	GO TO NEXT
C
C	PAGE FORMATTING
C
200	IF (LINE .GT. 40) GO TO 210
	I = 0
	LINE = LINE + 2
	GO TO NEXT
210	I = 1
	LINE = 1
	GO TO NEXT
C
300	IF ((NOPC .EQ. 0) .OR. (MAXOPC .EQ. 0)) GO TO NEXT
C
C	PRINT OPCODE USAGE
C
	PRINT 9040
	LINE = LINE + 3
	Y = 100. / IOPCNT
	Z = 90. / MAXOPC
	DO 310 I=0,511
	X = HISTOG(I+OPCTAB)
	IF (X .EQ. 0) GO TO 310
	N = X * Z + 1
	X = X * Y
	UUOFOO=OPCOD(I+1)
	CALL TRAN6B(UUOFOO, FNAME)
	PRINT 9044, FNAME(1), FNAME(2), X, (ASTRK(J), J=1,N)
	LINE = LINE + 1
	IF (LINE .LT. 50) GO TO 310
	PRINT 9042
	LINE = 2
310	CONTINUE
	GO TO NEXT
C
C	PRINT UUO TIMES
C
400	PRINT 9043
	LINE = LINE + 3
	Y = 100. / UUOTOT
	Z = 90. / MAXUUO
	DO 410 I=UUOTAB, UUOTAB+NUUO-1
	HIST = HISTOG(I)
	IF (HIST .EQ. 0) GO TO 410
	X = HIST * Y
	N = HIST * Z + 1
	UUOFOO=UUO(I-UUOTAB+1)
	CALL TRAN6B (UUOFOO, FNAME)
	PRINT 9044, FNAME(1), FNAME(2), X, (ASTRK(J), J=1,N)
	LINE = LINE + 1
	IF (LINE .LT. 50) GO TO 410
	PRINT 9045
	LINE = 2
410	CONTINUE
	GO TO NEXT
C
C	ERRORS
C
900	IF (HEADLN .EQ. 0) CALL EXIT
	PRINT 9901
	TYPE 9901
	GO TO 100
910	I=HEADLN+MONLIM+LOSLIM+HISLIM+NOPC+NWS+NUUO
	PRINT 9902, I
	TYPE 9902, I
	GO TO 100
920	PRINT 9903
	GO TO 100
C	FORMATS
C
9001	FORMAT('1SNOOPY/TATTLE V2: CPU TIME BREAKDOWN')
9002	FORMAT(' FOR INTERRUPT LEVEL',I2,' BY',I4,'-WORD REGIONS.')
9003	FORMAT(' FOR MONITOR (EXCLUSIVE OF INTERRUPTS) BY',
     1	I4,'-WORD REGIONS,')
9004	FORMAT(' FOR MONITOR (INCLUDING PI SERVICE) BY',
     1	I4,'-WORD REGIONS.')
9005	FORMAT(' FOR ',A5,A1,' LOW SEGMENT BY',I4,'-WORD REGIONS,'/
     1	' AND ',A5,A1,' HIGH SEGMENT BY',I4,'-WORD REGIONS.')
9006	FORMAT(' FOR JOB NUMBER',I3,' ONLY.')
9007	FORMAT(' FOR INTERRUPT SERVICE BY',I4,'-WORD REGIONS.')
9009	FORMAT('0SAMPLING EVERY',I6,'0 MICRO-SECONDS'/
     1	' WATCHING FROM PI CHANNEL',I2/
     2	' REGIONS WITH NO RECORDED TIME ARE NOT REPORTED.'/
     3	'0TIMING DONE ON ',5A5,' CREATED ',2A5)
9010	FORMAT('0SAMPLING EVERY',I6,'0 MICRO-SECONDS'/
     1	' WATCHING CPU',I2,' FROM PI CHANNEL',I2/
     2	' REGIONS WITH NO RECORDED TIME ARE NOT REPORTED.'/
     3	'0TIMING DONE ON ',5A5,' CREATED ',2A5)
9011	FORMAT(' WATCHED AT ',I2,':',I2,':',I2,' ON ',A4,I2,', ',I4,'.')
9012	FORMAT(' LENGTH OF RUN WAS',I4,' MINUTES, ',F6.3,' SECONDS.')
9013	FORMAT(' HISTOGRAM DATA FROM FILE ',A5,A1,'.',A3)
9014	FORMAT('0',10A5)
9015	FORMAT('0SYSTEM SPENT',F9.5,'% OF ITS TIME',
     1	' IN INTERRUPT SERVICE, AS FOLLOWS:')
9016	FORMAT('0SYSTEM SPENT',F9.5,'% OF ITS TIME IN MONITOR',
     1	' WITH NO PI IN PROGRESS')
9017	FORMAT('0NOTE: UUO TIME IS ATTRIBUTED BOTH TO MONITOR'/
     1	7X,'AND TO SEGMENT CONTAINING THE UUO.')
9018	FORMAT(' FOR ',A5,A1,' LOW SEGMENT, AND ',
     1	A5,A1,' HIGH SEGMENT')
9019	FORMAT(' ',F8.5,'% IN LOW SEGMENT, AND ',F8.5,'% IN HIGH SEGMENT')
9020	FORMAT(' AND ',F8.5,'% IN INTERRUPT SERVICE, AS FOLLOWS:')
9021	FORMAT(5X,F8.5,'% AT PI LEVEL',I2)
9022	FORMAT('0CUSP SPENT',F9.5,'% IN LOW SEGMENT,'/
     1	11X,F9.5,'% IN HIGH SEGMENT,'/
     2	11X,F9.5,'% IN MONITOR.')
9023	FORMAT(' CUSP ACCUMULATED'I4,' MINUTES, ',F6.3,
     1	' SECONDS OF RUNTIME.')
9030	FORMAT('0JOB SPENT TIME IN WAIT STATES AS FOLLOWS:')
9031	FORMAT(1X,F9.5,'% IN ',A2,'(',O2,')',100A1)
9040	FORMAT('0OPCODE USAGE BREAKDOWN:'/)
9042	FORMAT('1OPCODE USAGE CONTINUED'/)
9043	FORMAT('0UUO TIME BREAKDOWN:'/)
9044	FORMAT(1X,A5,A1,4X,F9.5,'%',100A1)
9045	FORMAT('1UUO TIME CONTINUED'/)
9050	FORMAT(I1,A5,A1,' LOW SEGMENT BREAKDOWN BELOW ',O7,' OCTAL:')
9051	FORMAT(I1,A5,A1,' HIGH SEGMENT BREAKDOWN BELOW ',O7,' OCTAL:')
9052	FORMAT(I1,'MONITOR BREAKDOWN BELOW ',O7,' OCTAL:')
C
9900	FORMAT(1X,I10,' APR TRAPS RECORDED'/)
9901	FORMAT(' HISTOGRAM FILE FORMAT IS INCORRECT'/)
9902	FORMAT(' HISTOGRAM FILE IS TOO BIG.  ENLARGE DATA TO ',I8/)
9903	FORMAT('0NO COUNTS TAKEN')
C
	END
	SUBROUTINE PRHIST
     1	(NAME, MAX, LIM, RES, HISTOG, SEGTOT, TOTAL, SEGMNT, TOT,
     2  IMNFLG)
C
C	SUBROUTINE TO PRINT A HISTOGRAM FOR A SEGMENT
C	IT WOULD BE NICE, SOMEDAY, IF THIS ROUTINE ALSO
C	ACCUMULATED MEAN COUNT, THE MEAN OMITTING ZEROS,
C	AND PRINTED REGIONS WITH LOW COUNTS (FOR COLD-SPOT DETECTION).
C
	DIMENSION HISTOG(1), IGLOB(2), LOCAL(2), ASTRK(100), SEGMNT(2)
	INTEGER NAME, MAX, LIM, RES, HISTOG, SEGTOT, TOTAL,
     1	OGLOB1, OGLOB2, I400K, FNAME(3), FILNAM(5)
	COMMON LINE, OGLOB1, OGLOB2, NMAX
	DATA ASTRK/' ',99*'*'/
	DATA I400K/"400000/
C
C
C	VERY EASY IF LIMIT SMALL ENOUGH, OR TOTAL IN SEGMENT IS ZERO
C
	IF (SEGTOT .EQ. 0) GO TO 170
	IF (LIM .LE. 1) GO TO 160
C
C	LOAD SYMBOL TABLE FOR THE SEGMENT
C
	FNAME(1) = 0
	CALL SYMINT(NAME, FNAME)
	IF (FNAME(1) .EQ. 0) GO TO 10
	CALL TRAN67(FNAME(1), FILNAM(1))
	CALL TRAN67(FNAME(2), FILNAM(2))
	CALL TRAN67(FNAME(3), FILNAM(4))
	PRINT 9023, (FILNAM(I), I=1,4)
	LINE = LINE + 1
C
10	X= 100. / SEGTOT
	Y= 100. / TOTAL
	PRINT 9024, X, SEGMNT(1), SEGMNT(2), Y, TOT
	LINE = LINE + 3
	IADDR = 0
	IF (IMNFLG .EQ. 1  .AND.  MAX .GT. I400K) IADDR = I400K
	OGLOB1 = 0
C
C	PRINT PERCENTAGE TIME SPENT IN EACH REGION
C
	DO 150 I=1,LIM-1
C
C	CHECK FOR NO TIME IN REGION
C
	HIST = HISTOG(I)
	IF (HIST .EQ. 0) GO TO 150
C
C	GET A SYMBOL WHICH PRECEEDS IADDR, RETURN ITS VALUE
C
	CALL SYMSRC (IADDR, IGLOB, LOCAL, IVAL)
C
C	CHECK THAT THIS ADDRESS IS IN SAME MODULE
C	AS LAST ONE WAS
C
	IF ((IGLOB(1) .EQ. OGLOB1) .AND. (IGLOB(2) .EQ. OGLOB2))
     1	GO TO 130
C
C	IS THIS THE FIRST MODULE?
C
	IF (OGLOB1 .EQ. 0) GO TO 110
C
C	NO, PRINT SUBTOTALS FOR PREVIOUS MODULE
C
	X = 100. * SUBTOT / SEGTOT
	Y = 100. * SUBTOT / TOTAL
	PRINT 9030, OGLOB1, OGLOB2, X, Y
	LINE = LINE + 4
C
C	NEW MODULE, CLEAR SUBTOTAL
C
110	SUBTOT = 0.
	OGLOB1 = IGLOB(1)
	OGLOB2 = IGLOB(2)
	CALL FORM(SEGMNT, TOT, 0)
C
C	PRINT NEW MODULE HEADER UNLESS FORM DID IT
C
	IF (LINE .EQ. 0) GO TO 130
	PRINT 9025, OGLOB1, OGLOB2, SEGMNT(1), SEGMNT(2), TOT
	LINE = LINE + 5
C
C	PRINT A LINE FOR THIS REGION
C
130	X = 100. * HIST / SEGTOT
	Y = 100. * HIST / TOTAL
	SUBTOT = SUBTOT + HIST
	N = HIST * 80. / NMAX + 1
	IOFF = IADDR - IVAL
	PRINT 9027, IADDR, LOCAL(1), LOCAL(2), IOFF, X, Y,
     1	(ASTRK(J), J=1,N)
	LINE = LINE + 1
	CALL FORM(SEGMNT, TOT, 1)
150	IADDR = IADDR + RES
	IF (SUBTOT .EQ. 0) GO TO 160
C
C	PRINT FINAL SUBTOTALS
C
	X = 100. * SUBTOT / SEGTOT
	Y = 100. * SUBTOT / TOTAL
	PRINT 9030, OGLOB1, OGLOB2, X, Y
	LINE = LINE + 4
C
C	PRINT OUT-OF-RANGE COUNT
C
160	HIST = HISTOG(LIM)
	IF (HIST .EQ. 0) RETURN
	X = 100. * HIST / SEGTOT
	Y = 100. * HIST / TOTAL
	PRINT 9031, MAX, X, SEGMNT(1), SEGMNT(2), Y, TOT
	LINE = LINE + 2
	RETURN
C
C	SEGTOT IS ZERO
C
170	PRINT 9032
	LINE = LINE + 2
	RETURN
C
C	FORMATS
C
9023	FORMAT(' SYMBOLS FROM ',A3,':',A5,A1,'.',A3)
9024	FORMAT(' TIMING RESOLUTION IS ',F8.5,'% OF ',A5,A4,2X,
     1	F8.5,'% OF ',A3,'.'/)
9025	FORMAT('0  MODULE: ',A5,A1/
     1	'0ADDRESS',5X,'LABEL',8X,'% OF ',A5,A4,1X,'% OF ',A3/
     2	' -------',5X,'-----',8X,'------------   --------')
9027	FORMAT(1X,O6,4X,A5,A1,'+',O3,6X,F8.5,'%',4X,F8.5,'%',100A1)
9030	FORMAT('0',A5,A1,' SUBTOTALS:',8X,F9.5,'%',3X,F9.5,'%'//)
9031	FORMAT('0TIME AT ADDRESSES'/' GREATER THAN ',O6,4X,F8.5,
     1	'% OF ',A5,A4,2X,F8.5,'% OF ',A3,'.')
9032	FORMAT('0NO COUNTS TAKEN')
	END
	SUBROUTINE FORM(SEGMNT, TOT, IFLG)
C
C	IFLG DETERMINES IF "CONTINUED" IS TO BE ADDED TO MODULE NAME
C
	COMMON LINE, OGLOB1, OGLOB2
	DIMENSION SEGMNT(2)
C
	IF (LINE .LT. 50) RETURN
	IF (IFLG .EQ. 1) GOTO 100
	PRINT 9026, OGLOB1, OGLOB2, SEGMNT(1), SEGMNT(2), TOT
	LINE = 0
	RETURN
100	PRINT 9027, OGLOB1, OGLOB2, SEGMNT(1), SEGMNT(2), TOT
	LINE = 0
	RETURN
C
9026	FORMAT('1  MODULE: ',A5,A1/
     1	'0ADDRESS',5X,'LABEL',8X,'% OF ',A5,A4,1X,'% OF ',A3/
     2	' -------',5X,'-----',8X,'------------   --------')
9027	FORMAT('1  MODULE: ',A5,A1,'  (Continued)',/
     1	'0ADDRESS',5X,'LABEL',8X,'% OF ',A5,A4,1X,'% OF ',A3/
     2	' -------',5X,'-----',8X,'------------   --------')
	END