Trailing-Edge
-
PDP-10 Archives
-
tops10_tools_bb-fp64a-sb
-
10,7/snoopy/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(7), TODAY, NOW, USERF, INTRVL, INTLVL
INTEGER COMENT(10), MONDAT(12), LOSDAT(12), HISDAT(12)
INTEGER JOBNO, WCHAN, CYCLE, CPUN, EXTKLM, BUGS, TOTAL
INTEGER PITAB(7), HISTOG(1)
INTEGER MONFSP(9), MONRES, MONLIM, MONMAX
INTEGER LOSFSP(9), LOSRES, LOSLIM, LOSMAX
INTEGER HISFSP(9), HISRES, HISLIM, HISMAX
INTEGER LOSTAB, HISTAB, MONTAB, UUOTAB, OPCTAB, QUETAB
INTEGER LOSTOT, HISTOT, MONTOT, UUOTOT
INTEGER IHDRLN, IDATLN, HSTFSP(9)
INTEGER FILE(13)
INTEGER I400K, HISMX4, ANY, LNAME, HNAME, UUONAM(2)
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(66000)
DIMENSION MONTHS(12), LNAME(2), HNAME(2), STATES(32),
1 ASTRK(100), SEGMNT(2), NUMB(7), 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), COMENT(1)),
3 (DATA(24), MONDAT(1)), (DATA(36), LOSDAT(1)),
4 (DATA(48), HISDAT(1)), (DATA(60), JOBNO), (DATA(61), WCHAN),
5 (DATA(62), CYCLE), (DATA(63), CPUN), (DATA(64), EXTKLM),
6 (DATA(65), BUGS), (DATA(66), TOTAL), (DATA(67), PITAB(1)),
7 (DATA(74), HISTOG(1))
EQUIVALENCE (MONDAT(1), MONFSP(1)), (MONDAT(10), MONRES),
1 (MONDAT(11), MONLIM), (MONDAT(12), MONMAX)
EQUIVALENCE (LOSDAT(1), LOSFSP(1)), (LOSDAT(10), LOSRES),
1 (LOSDAT(11), LOSLIM), (LOSDAT(12), LOSMAX)
EQUIVALENCE (HISDAT(1), HISFSP(1)), (HISDAT(10), HISRES),
1 (HISDAT(11), HISLIM), (HISDAT(12), HISMAX)
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 CHANGE THIS IF HEADER LENGTH CHANGES (PLUS ABOVE EQUIVALENCE)
C
DATA IHDRLN/73/
C
C THIS IS WHAT TO CHANGE FOR LARGER BUFFERS (PLUS ABOVE DIMENSION)
C
DATA IDATLN/66000/
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)/"634350454416/
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)/"445141471600/
DATA UUO(149)/"446660507116/
DATA UUO(150)/"476456645616/
DATA UUO(151)/"476470645616/
DATA UUO(152)/"414343641600/
DATA UUO(153)/"446445160000/
DATA UUO(154)/"444566576016/
DATA UUO(155)/"636060625516/
DATA UUO(156)/"554562474516/
DATA UUO(157)/"656462601600/
DATA UUO(158)/"605152425116/
DATA UUO(159)/"635657576016/
DATA UUO(160)/"646353160000/
DATA UUO(161)/"534460160000/
DATA UUO(162)/"616545654516/
DATA UUO(163)/"624543575616/
DATA UUO(164)/"605164556216/
DATA UUO(165)/"414343544716/
DATA UUO(166)/"566360160000/
DATA UUO(167)/"566455415616/
DATA UUO(168)/"445645641600/
DATA UUO(169)/"634166451600/
DATA UUO(170)/"435541564416/
DATA UUO(171)/"605142545316/
DATA UUO(172)/"634363160000/
DATA UUO(173)/"634542545316/
DATA UUO(174)/"436470160000/
DATA UUO(175)/"605146544716/
DATA UUO(176)/"516043465516/
DATA UUO(177)/"545455576016/
DATA UUO(178)/"544164576016/
DATA UUO(179)/"535651426416/
DATA UUO(180)/"435064625616/
DATA UUO(181)/"456450566416/
DATA UUO(182)/"455664664316/
DATA UUO(183)/"564564576016/
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(HSTFSP)
CALL RHIST(DATA,IDATLN,HSTFSP)
C
IF (BUGS .NE. 0) PRINT 9900, BUGS
C
C CHECK FOR THE CORRECT FORMAT IN HIST.DAT
C
IF (HEADLN .NE. IHDRLN) 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 CALL PRHIST(MONFSP, 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=QUETAB, QUETAB+NWS-1
HIST = HISTOG(I)
IF (HIST .EQ. 0) GO TO 3020
X = HIST * Y
N = HIST * Z + 1
J = I - QUETAB + 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 (LOSFSP, 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 (HISFSP, 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 CALL PRHIST (MONFSP, MONMAX, MONLIM, MONRES,
1 HISTOG(MONTAB), 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 TRANFS(HSTFSP, FILE)
PRINT 9013, (FILE(I), I=1,13)
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 QUETAB = OPCTAB + NOPC
MAXWS = 0
IF (NWS .EQ. 0) GO TO 180
DO 176 I=QUETAB, QUETAB+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, UUONAM)
PRINT 9044, UUONAM(1), UUONAM(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, UUONAM)
PRINT 9044, UUONAM(1), UUONAM(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 ',13A5)
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:')
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 (FILESP, 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),
1 FILESP(9)
INTEGER NAME, MAX, LIM, RES, HISTOG, SEGTOT, TOTAL,
1 OGLOB1, OGLOB2, I400K, FILNAM(13), SYMFLG
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
CALL SYMINT(SYMFLG,FILESP)
IF (SYMFLG .EQ. 0) GOTO 10
CALL TRANFS(FILESP, FILNAM)
PRINT 9023, (FILNAM(I), I=1,13)
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 155 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, INT(SUBTOT), 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 * 65. / NMAX + 1
IOFF = IADDR - IVAL
PRINT 9027, IADDR, LOCAL(1), LOCAL(2), IOFF, INT(HIST), X, Y,
1 (ASTRK(J), J=1,N)
LINE = LINE + 1
CALL FORM(SEGMNT, TOT, 1)
150 IADDR = IADDR + RES
IF (IADDR .EQ. "1000000) IADDR = "2000000
155 CONTINUE
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, INT(SUBTOT), 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 ',13A5)
9024 FORMAT(' TIMING RESOLUTION IS ',F8.5,'% OF ',A5,A4,2X,
1 F8.5,'% OF ',A3,'.'/)
9025 FORMAT('0 MODULE: ',A5,A1/
1 '0ADDRESS LABEL',9X,'COUNT',7X,'% OF ',A5,A4,1X,'% OF ',A3/
2 ' ------- -----',9X,'-----',7X,'------------ --------')
9027 FORMAT(1X,O7,4X,A5,A1,'+',O3,4X,I6,9X,F8.5,'%',4X,F8.5,'%',100A1)
9030 FORMAT('0',1X,A5,A1,' SUBTOTALS:',7X,I6,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 LABEL',9X,'COUNT',7X,'% OF ',A5,A4,1X,'% OF ',A3/
2 ' ------- -----',9X,'-----',7X,'------------ --------')
9027 FORMAT('1 MODULE: ',A5,A1,' (Continued)',/
1 '0ADDRESS LABEL',9X,'COUNT',7X,'% OF ',A5,A4,1X,'% OF ',A3/
2 ' ------- -----',9X,'-----',7X,'------------ --------')
END