; LOGOVL - CLONE OVERLAY TO LOG TRANSACTIONS ON TERMINAL ; LAST EDIT: 11-SEP-80 ; .NLIST .LIST TTM .NLIST BEX .LIST .TITLE LOGOVL .LIST ; ; .PSECT LOGOVL ; ; SPACH=40 ; ; ; LGRPY - LOG A REPLY TRANSACTION ; INPUT: R0=ITEM BEING REPLIED ; R2=REQUEST DESCRIPTOR ; ALL REGISTERS PRESERVED ; LGRPY:: MOV R0,-(SP) MOV R1,-(SP) MOV R2,-(SP) MOV RD.PRM(R2),R2 ;GET PROMPT STRING CALL OUTP ;AND PRINT PROMPT 1$: MOV R0,R2 ;POINT TO STRING ADD #10,R2 ;SKIP HEADER 2$: CALL OUTC ;PRINT REPLY BR LOGDON ; ; LGCAL - LOG A SUBROUTINE CALL ; INPUT: R2=MACRO NAME STRING POINTER ; ZERO OR SPACE TERMINATE NAME ; LGCAL:: MOV R0,-(SP) MOV R1,-(SP) MOV R2,-(SP) MOV #NAMBUF,R1 1$: MOVB (R2)+,(R1)+ ;COPY NAME STRING BEQ 2$ CMPB (R2),#SPACH BNE 1$ 2$: CLRB (R1)+ ;TERMINATE STRING MOV #CALMES,R2 CALL OUTP MOV #NAMBUF,R2 CALL OUTC BR LOGDON ; ; LGRTN - LOG RETURN FROM SUBROUTINE ; INPUT: R2=MACRO NAME STRING POINTER ; LGRTN:: MOV R0,-(SP) MOV R1,-(SP) MOV R2,-(SP) MOV #NAMBUF,R1 1$: MOVB (R2)+,(R1)+ ;COPY NAME STRING BEQ 2$ CMPB (R2),#SPACH BNE 1$ 2$: CLRB (R1)+ ;TERMINATE STRING MOV #RTNMES,R2 CALL OUTP MOV #NAMBUF,R2 CALL OUTC BR LOGDON ; ; ; LGREC - LOG A RECORD REQUEST ; INPUT: R0=RECORD ITEM POINTER ; R1=ITEM NAME POINTER ; ; REGISTERS DESTROYED: NONE ; LGREC:: MOV R0,-(SP) MOV R1,-(SP) MOV R2,-(SP) MOV #RECMES,R2 CALL OUTP ;PRINT RECORD MESSAGE MOV R1,R2 ;GET NAME CALL OUT0 MOV #EQMES,R2 ;PRINT '=' CALL OUT0 CALL CPYITM ;DUPLICATE RECORD ITEM MOV #M.STR,R1 ;CONVERT TO STRING CALL CONVRT MOV R0,R2 ADD #10,R2 ;SKIP HEADER CALL OUTC ;PRINT VALUE CALL VOIDSP BR LOGDON ; ; ; ; LOGDON: MOV (SP)+,R2 1$: MOV (SP)+,R1 MOV (SP)+,R0 RETURN ; ; ; LGMCR - LOG A REPLY TO MCR ; INPUT: R2=STRING BEING REPLIED ; ; LGMCR:: MOV R2,-(SP) ;SAVE STRING MOV #MCRPMT,R2 CALL OUTP ;PRINT '>' MOV (SP)+,R2 CALL OUTC ;PRINT COMMAND LINE RETURN ; ; ; NULSTR: .WORD SPACH CALMES: .ASCIZ /** CALLING: / RTNMES: .ASCIZ /** RETURNING FROM: / MCRPMT: .ASCIZ />/ RECMES: .ASCIZ /** RECORD: / EQMES: .ASCIZ /=/ ; NAMBUF: .BLKB 20 .EVEN ; ; .END