C ================================================== C PRINT C PRODUCES ONE LINE OF PRINTOUT ON LP OR TT C IF THE LINE NUMBER IS UNCHANGED, IT OMITS LINENO C AND SOURCE CODE C PARAMETERS C I1 ) C I2 ) THREE INTEGER*4 VALUES TO BE PRINTED C I3 ) AS 2 CHARACTER HEX STRINGS C C ================================================== SUBROUTINE PRINT (I1,I2,I3) COMMON /HOUSE/ PAGE, BUFF, J, LINENO, LLNO, APC, PASS BYTE BUFF(80),OUTBUF(16) INTEGER*2 LINENO,PASS,PAGE INTEGER*4 APC,I1,I2,I3 IF (PASS.NE.2) RETURN DO 10 I=1,16 10 OUTBUF(I)=32 IF (IMOD(LINENO,45).NE.1) GOTO 20 WRITE (4,1000) PAGE 1000 FORMAT ('1 6800 CROSS ASSEMBLER V01.X'10X'PAGE',I5,//) PAGE=PAGE+1 20 CALL HEX (OUTBUF,1,APC/256) CALL HEX (OUTBUF,3,JMOD(APC,256) ) IF (I1.NE.-1) CALL HEX (OUTBUF,7,I1 ) IF (I2.NE.-1) CALL HEX (OUTBUF,11,I2 ) IF (I3.NE.-1) CALL HEX (OUTBUF,15,I3 ) K=55 IF (J.LT.55) K=J IF (LLNO.NE.LINENO) 1 WRITE (4,1010) LINENO, OUTBUF, (BUFF(I),I=1,K) IF (LLNO.EQ.LINENO) WRITE (4,1020) OUTBUF LLNO=LINENO 1010 FORMAT (I5,2X,16A1,2X,55A1) 1020 FORMAT (7X,16A1) RETURN END