I#%CONTROL X'0FFFFFFF' !*********************************************************************** !* !* SERVICES !* !* ADAPTED FROM EDINBURGH IMP MODULE FCSM10 !* FOR USE IN BSV35/KSV17 PASCAL SYSTEM (PASCAL 20) !* !* INCLUDES :- ITOE , IOCP/WRITE (LISTING FILE) , NDIAG (DUMMY) !* SUPPORTS :- LPUT , OMFOUT , NCODE . !* !* T.MOORE MARCH '80 !* !*********************************************************************** !* !* # P6 R/32/20/ T7.E I/,CR=12/G I$%CONSTINTEGER FALSEBOOL=0,TRUEBOOL=1$$$ P19 G R/131/119/ G I/%OWNINTEGER LISTFILEWRITEFAILURE/// P36 T90 P144 T146 I/%EXTERNALROUTINESPEC ICL9LPCTABORT (%INTEGER COMPFAILFLAG)/// ?ALT 146-375 %EXTERNALINTEGERFNSPEC ICL9HNOUTPUTLINE (%INTEGER BUFFDR0, BUFFDR1) %EXTERNALINTEGERFNSPEC ICL9HNNEWLINE (%INTEGER LINES) %EXTERNALINTEGERFNSPEC ICL9HNNEWPAGE !* !* %SYSTEMROUTINE INITSERVICES OUTPTR = 0 LISTFILEWRITEFAILURE = 0 %END; ! INITSERVICES !* !* ?ALT 390-538 %ROUTINE OUTPUT RECORD %INTEGER I,J,K %IF OUTPTR = 0 %THEN %C K = ICL9HNNEWLINE(1) %C %ELSESTART J = ADDR(OUTBUFF(0)) ITOE(J,OUTPTR) I = X'18000000' ! OUTPTR OUTPTR = 0 WRITERECORD: K = ICL9HNOUTPUTLINE(I+2,J-2) %IF K > 0 %THENSTART %IF LISTFILEWRITEFAILURE = 1 %THENSTART ICL9LPCTABORT (FALSEBOOL) %FINISH LISTFILEWRITEFAILURE = 1 -> WRITERECORD ; ! GETS DIVERTED TO JOURNAL %FINISH %FINISH %END; ! OUTPUT RECORD !* ? T550 A/NP /%OR N=CR / T552./%AND/ P.E I/%THEN I = ICL9HNNEWPAGE/ DEL553 T574 I/SW(11):/// DEL575 T601 R/SUPPORT (1,J,0,0/ICL9HNNEWLINE(J/ DEL 608-619 T621 I/!*/// ?ALT 662-1450 %SYSTEMROUTINE NDIAG *IDV_0 %END; ! NDIAG ?DEL 1453-1500 E