.TITLE DIRPUT - MOVE OUTPUT RECORD TO LISTING DEVICE .IDENT /22DEC81/ .ENABLE GBL ; ***** ; ; DIRPUT.MAC - .DRPUT SUBROUTINE TO MOVE RECORD FROM LISTING ; DEVICE FDB (LSTFDB) TO ACTUAL LISTING DEVICE. ; ; CALLING CONVENTION/RESTRICTIONS: ; ; WHEN CALLED, R0 POINTS TO END OF CHARACTER STRING IN OUTPUT RECORD ; WHICH BEGINS AT ADDRESS IN "LSTFDB+F.NRBD+2" ; ; ON SUCCESSFUL RETURN, R0 POINTS TO START OF NEW RECORD, I.E. CONTENTS ; OF "LSTFDB+F.NRBD+2" ; ; SORENSON, 12/81 ; ; UPDATE 12/21/81 -- PRS; ORIGINAL EDIT ; ; ***** .MCALL PUT$S .PSECT $CODE1,RO,I,LCL,CON,REL .DRPUT:: ;ENTRY POINT MOV LSTFDB+F.NRBD+2,-(SP) ;PUSH START ADDRESS ONTO STACK SUB (SP),R0 ;DETERMINE OUTPUT RECORD LENGTH BLT 9$ ;BRANCH ON -VE BYTE COUNT MOV R0,LSTFDB+F.NRBD ; AND SAVE IT IN FDB PUT$S #LSTFDB ;WRITE RECORD TO LISTING DEVICE BCC 10$ ;BRANCH IF SUCCESSFUL 9$: FERR PUTE ; NO, TRAP TO ERROR MESSAGE 10$: MOV (SP)+,R0 ;POP START ADDRESS INTO RO RETURN ;SUCCESSFUL RETURN .END ;.DRPUT