.TITLE LISTEN MESSAGE TRANSFER VIA SPAWN DIRECTIVE .IDENT /M03.../ .MCALL DIR$,GMCR$ ; ; CORAL TRANSFERS ; ; R5 POINTS TO STACK ; R5 +0 NUMBER OF PARAMETERS ; R5 +2 PARAMETERS ; ; @#$DSW = ABSOLUTE ADDRESS OF DSW ; $DSW = RELATIVE OFFSET TO ADDRESS OF DSW ; ; LISTEN:: ;CORAL CALL 'IP' LISTEN; ; TST CMDS ;IS COMMAND STORE LOADED ? BNE 10$ ;IF LOADED BYPASS MOV CMD,CMDS ;SAVE CONTENTS OF DIRECTIVE LOCATION 10$: MOV CMDS,CMD ;RESTORE ORIGIONAL DIRECTIVE DIR$ #CMD ;GO GET A COMMAND YERE HEAR CLR CMD ;ASSUME STRING LENGTH = NO CHARS MOV $DSW,R0 ;HOLD STATUS REPLY THING BLT 20$ ;IF LESS MUST BE AN ERROR MOV R0,CMD ;IF POS THEN R0 = NUMBER OF CHARS PASSED 20$: MOV #CMD,R0 ;HOLD ADDRESS OF COMMAND STRING RETURN ;WAGGING TAIL ; CMDS: .WORD 0 ;COMMAND DIRECTIVE STORE LOCATION .WORD 0 ;PROTECTOR FOR FOLLOWING STRING CMD: GMCR$ ;GET MCR COMMAND LINE DOOFER ; ; END OF PROGRAM ; .END