%BEGIN %EXTERNALROUTINESPEC ISO CARD (%BYTEINTEGERARRAYNAME K) %EXTERNALSTRINGFNSPEC DATE %INTEGER CARD COUNT,MANUAL COUNT,FAULT COUNT %INTEGER I %BYTEINTEGERARRAY CARD(0:80) %STRING (7) MANUAL,LAST MANUAL %ON %EVENT 9 %START NEWLINES(5) PRINTSTRING ("NUMBER OF MANUALS LISTED =") WRITE (MANUAL COUNT,3) NEWPAGE NEWLINE %STOP %FINISH SELECTOUTPUT(3) NEWPAGE SELECTINPUT(2) %CYCLE %CYCLE I=1,1,80 ; CARD(I) = ' ' ; %REPEAT ISO CARD(CARD) %IF CARD(1) = 'X' %THEN %EXIT NEWLINE CARD(0) = 80 PRINTSTRING(STRING(ADDR(CARD(0)))) %REPEAT SPACES(10) PRINTSTRING("COMMENT ".DATE) PRINTCH(13) %CYCLE I=1,1,132 ; PRINTCH('_') ; %REPEAT CARD COUNT = 0 ; MANUAL COUNT = 0; FAULT COUNT = 0 LAST MANUAL = "" %CYCLE %CYCLE I=1,1,80 ; CARD(I)=' ' ; %REPEAT ISO CARD (CARD) CARD(0) = 7 MANUAL = STRING(ADDR(CARD(0))) %IF MANUAL = LAST MANUAL %THEN %START %IF CARD COUNT > 1 %THEN %START NEWLINE SPACES(80) %FINISH SPACE CARD(30) = 50 PRINTSTRING(STRING(ADDR(CARD(30)))) CARD COUNT = CARD COUNT + 1 %FINISH %ELSE %START NEWLINE LAST MANUAL = MANUAL MANUAL COUNT = MANUAL COUNT + 1 CARD COUNT = 1 %IF CARD(9) = '*' %THEN FAULT COUNT = FAULT COUNT + 1 CARD(0) = 80 PRINTSTRING(STRING(ADDR(CARD(0)))) %FINISH %REPEAT %ENDOFPROGRAM