.TITLE PUTMCR .IDENT /1X/ ; MODULE TO TAKE OUTPUT FROM CCL.MAC AS ADDR OF FIRST CHAR, ; LENGTH IN CHARACTERS, AND TO OUTPUT AN MCR COMMAND LINE ; USE ED: (LUN 3) TO SEND MESSAGES TO MCR .MCALL QIO$,DIR$ BUFLEN: .WORD 0 BUFADR: .WORD 0 LUN=-1 ; -1 MEANS TI: FOR EDDRV IOSB: .BLKW 2 ; IO STATUS BLOCK ; LUN 3 , EFN 3 USED FOR ED: ; ASSIGNED AT TASKBUILD EDMSG: QIO$ IO.WLB,3,3,,IOSB,, PUTMCR:: TST (R5)+ ; BUMP POINTER F4P STYLE MOV @(R5)+,BUFLEN ; GET LENGTH OF BUFFER FROM CCL MOV (R5),BUFADR ; GET BUFFER ADDRESS ; CMP #80.,BUFLEN ; NOW WE CAN'T HAVE A BUFFER >80 CHAR. ; BLT ERR ; OR ELSE ERROR MOV #EDMSG,R4 ; ADDRESS OF QIO PARAM BLOCK MOV BUFADR,Q.IOPL(R4) ; GET ADDRESS OF COMMAND LINE MOV BUFLEN,Q.IOPL+2(R4) ; GET LENGTH OF COMMAND DIR$ #EDMSG ; SEND MESSAGE TO MCR BCS ERR MOV #1,R0 RETURN ERR: MOV #177777,R0 ; SHOW ERROR RETURN .END