Trailing-Edge
-
PDP-10 Archives
-
bb-x130a-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