.TITLE LOGND - CLOSE OUT LOG FILE .IDENT /01.00/ .LIST MEB ; ; AUTHOR: H. L. COLEMAN ; MILLIKEN AND COMPANY ; P. O. BOX 1926 ; MAIL STOP M-103 ; SPARTANBURG, S. C. 29304 ; (803)573-2556 ; ; VERSION: 01.00 ; ; DATE: 30-MAR-78 ; ; MODIFICATIONS: ; ; FUNCTION: CLOSE OUT THE LOG FILE. ; ; INPUT: ; ; R4 = COUNT REMAINING IN CURRENT BUFFER ; R5 = A(POSITION IN CORRENT BUFFER) ; ; OUTPUT: ; ; LOG FILE CLOSED. ; .PAGE ; MACRO CALLS AND SYSTEM DEFINITIONS. ; .MCALL WTSE$S,CLEF$S,WRITE$,CLOSE$,MSGN$S .MCALL FDOF$L,NBOF$L,FCSBT$ FDOF$L ;DEFINE FDB OFFSETS NBOF$L ;DEFINE FNB OFFSETS FCSBT$ ;DEFINE FCS BITS .PAGE $LOGND::CMP #512.,R4 ;ANY DATA IN CURRENT BUFFER ? BEQ 1300$ ; IF EQ, NO - DON'T HAVE TO WRITE IT TST LIOSB ;ERROR ON LAST WRITE ? BMI 1300$ ;IF MI, YES - CAN'T WRITE IT TST R4 ;ANY PAD NEEDED ? BEQ 1100$ ;IF EQ, NO - BUFFER ALREADY FULL 1000$: CLRB (R5)+ ;PAD OUT THE LAST BLOCK SOB R4,1000$ ;LOOP UNTIL DONE 1100$: TST LIOSB ;LAST WRITE COMPLETE ? BNE 1200$ ;IF NW, YES WTSE$S #2 ;WAIT FOR IT CLEF$S #2 ;CLEAR FLAG BR 1100$ ;TRY AGAIN 1200$: WRITE$ #LOGFL,CURBUF ;WRITE THE LAST BLOCK WTSE$S #2 ;WAIT FOR IT CLOSE$ #LOGFL ;CLOSE THE LOG FILE BCC 1300$ ;IF CC, NO ERROR MSGN$S PFX,3,M008,,,ABORT ;ERROR CLOSING LOG FILE CALL $LOGER ;TELL HIM MORE 1300$: RETURN ;RETURN TO CALLER .END