C C P R T L I N C C PRINT LISTING LINE C C THIS ROUTINE OUTPUTS AN ASSEMBLY LISTING LINE TO THE LISTING FILE. C IF THE LINE COUNT IS GREATER THAN 58 THEN A CALL TO THE HEADING C PRINT ROUTINE IS MADE TO SPACE TO A NEW PAGE AND OUTPUT A HEADING. C IF THE LISTING DEVICE UNIT NUMBER IS LESS THAN OR EQUAL TO ZERO C THE LINE IS NOT OUTPUT (TO HANDLE THE CASE WHERE NO LISTING IS C REQUIRED). C SUBROUTINE PRTLIN(IFLAG) INCLUDE 'BSUCOM.CMN' INCLUDE 'IODEVS.CMN' INCLUDE 'LSTHDG.CMN' INCLUDE 'OUTLIN.CMN' INCLUDE 'PRGDAT.CMN' INCLUDE 'SRCLIN.CMN' INTEGER TABS , BLANKS INTEGER*4 HPCNTR EQUIVALENCE (KEYCHR(12), BLANKS) EQUIVALENCE (KEYCHR(28), TABS ) D WRITE (4,1) IFLAG D 1 FORMAT (' PRTLIN CALLED, IFLAG = ',I5) IF (PAGCNT.GE.60) CALL HEADNG LINCNT = LINCNT+1 PAGCNT = PAGCNT+1 IF (LSTUNT.LE.0) GO TO 40 HPCNTR = ' ' IF (IFLAG.NE.-1) CALL BINHEX(PCNTR,HPCNTR,4) 20 CONTINUE WRITE (LSTUNT,30) ERRFLG, LINCNT, HPCNTR, ABSCOD, $ (LINBUF(I),I=1,EOL) 30 FORMAT (' ',4A1,I5,3X,A4,2X,6(1X,A2),4X,80(A1:)) C C OUTPUT TO THE BINARY OUTPUT FILE THE CODE AND LOCATION C 40 CONTINUE D WRITE (4,2) IFLAG,PCNTR,ABSCOD D 2 FORMAT (' PRTLIN END, IFLAG, PCNTR, ABSCOD = ',2I8,2X,6A2) IF (IFLAG.NE.-1) CALL BINOUT(PCNTR,ABSCOD) RETURN END