*20 //MOD7 /DECODE MODULE 7 /BLOCK 31 /CONTENTS / INTRACT / MESOUT LODSYM SEGMNT 4 *1400 KP7, 7 /MONCAL ADD COMAND ADA I JMP .+4 STC .+2 STC COMAND JMP JMP MESGET JMP MESS / /MESGET CODING FOLLOWS. GETDF, 0 JMP 0 / /GET ARGUMENTS AND SAVE IN DECODE. MESGET, FETCH /GET CJN STC MTEM FETCH /MN STC MTEM+1 ADD GSRDF /OLD DF STC MTEM+2 JMP IDF LDA DFI /OLD IF AS DF STC MTEM+3 / /PRINT MESSAGE AND OPEN INPUT BUFFER. /NOTE: IN ORDER TO BE COMPATABLE WITH /THE COMEXEC, THE INPUT BUFFER MUST BE /OPENED BEFORE ANY INTERNAL SETUP IS /DONE SINCE THE COMEXEC WILL WIPE OUT /THE CURRENT MESGET MODULE. / AGN, LDA MTEM+1 STA HOLD JMP BITSET /BSE 2000 STC MSPTR JMP TEST /OLD IF OR DF? JMP BITSTP /BCL 7770 STC DF2 / /TYPE MESSAGE ON TTY IOB 11 4104 272 DF2, 0 MSPTR, 0 JMP .-5 / /OPEN INPUT BUFFER JMP DECOD / / /STUFF MESGET WITH ARGUMENTS. / CLR ADD MTEM /CJN STA HOLD JMP BITSET /BSE2000 STC CODPTR JMP TEST /OLD DF OR IF STA GETDF BCL I 0040 STC LIFX /EXIT IF ADD MTEM+2 STC LDFX /EXIT DF JMP DECUD /DECODE INPUT BUFFER EJECT / / /ROUTINE TO SEE IF TERMINAL /JUMP IS TO IF OR ANOTHER DF. TEST, SET 14 0 LDA I HOLD, 0 ROL I 2 LZE /2000? JMP .+4 / LDA /BIT 1 NOT SET MTEM+3 /OLD IF AS DF JMP 14 /LEAVE TEST / LDA /YES, BIT1 SET MTEM+2 /OLD DF AS DF JMP 14 /LEAVE TEST / /BIT SETTING ROUTINES. BITSET, BSE I 2000 JMP 0 BITSTP, BCL I 7770 JMP 0 EJECT /DECODING SEQUENCE, STRSCN EQUIVALENT ROUTINE. DECUD, SET I 14 CODPTR, 0 /CJN SET I OLDPTR INBUF COM STC L1FLG / JMP GETDF LDA 14 JMP BITSET /BSE2000 ADD KM1 STC STATE JMP SETSCN JMP DOSCAN JMP EOL /CR EXIT JMP UNK /UNK OR NUMBER ADD COMNO /LEAVE FOR STOP COMMAND. SAE I 13 SKP STOP / ADA I -16 APO JMP LVL1 /LEVEL1 JMP GETDF LDA I STATE AZE I JMP BDCM /NOT IN TABL SAE COMNO JMP .-5 /GOT COMMAND, LOOK IT UP. EJECT /LOOKUP COMMAND IN TABLE. LOOKUP, STA I CURCOM, 0 GOTONE, SET 15 CODPTR LDA 15 ADD KM1 JMP BITSET /BSE2000 STC 17 /VALID COMPTR LDA I 15 ADD KP1 JMP BITSET /BSE2000 STC 15 /JMP PTR ADD CURCOM SAE I 17 SKP JMP GOTCOM XSK I 15 JMP .-4 / GOTCOM, CLR STC HOLD LDA 15 JMP USERGO / /LEVEL 1 HANDLER. LVL1, LDA I JMP AGN STC RETURN LDA I LIF 4 STC GSRIF ADD GETDF STC GSRDF LDA I MONCAL STC GOUSER LDA I 7 STC GOUSER+1 JMP LEVEL1 / /BAD COMMAND, NOT IN TABLE HANDLER. BDCM, TYPE QM JMP AGN EJECT /UNKNOWN COMMAND OR NUMBER. UNK, SET 15 CODPTR / INPUT INBUF STORE MTEM FIX FAC ISTOR1 HOLD / JMP GETDF LDA 15 ADD KM1 JMP BITSET /BSE2000 STC 17 /VALID COMPTR LDA I 15 ADD KP1 JMP BITSET /BSE2000 STC 15 /JMP PTR LDA I 17 AZE I JMP .+3 XSK I 15 JMP .-4 LOAD MTEM JMP GOTCOM+2 / /CR ONLY HANDLER. EOL, SET 15 CODPTR CLR STC HOLD / JMP GETDF LDA I 15 /JMP USERGO EJECT /ROUTINE TO RETURN TO USER. USERGO, BSE I 6000 STC RJ LDA I NOP STA GOUSER STC GOUSER+1 ADD HOLD LDFX, 0 /RETURN DF LIFX, 0 /RETURN IF RJ, 0 /RETURN JUMP / KM1, -1 KP1, +1 EJECT /MESSAGE PRINTER ROUTINE. MESS, FETCH /GET MN STA HOLD JMP BITSET STC MS / MSG IN OLD IF OR OLD DF? ADD HOLD /TEST 2000 BIT ROL I 2 LZE JMP .+5 / JMP IDF /NOT SET LDA DFI /OLD IF AS DF JMP .+3 / LDA GSRDF /OLD DF AS DF JMP BITSTP /BCL7770 STC MS-1 / IOB 11 4124 212 0 MS, 0 JMP .-5 IOB 1 24 .+3 JMP .-3 IOB 5 / CLR STC COMNO AA7, JMP GOUSER / /MOD7 /FEB 74