TITLE SET Kermit-10 SET Commands SEARCH KERMIT,FILIO,UUOSYM,MACTEN,SCNMAC TWOSEG 400000 SALL ;++ ; FACILITY: ; ; KERMIT-10 (Protocol Version V) ; ; ; ABSTRACT: ; ; SET Command Module ; ; ; This program is used to implement version 5.0 of the KERMIT protocol ; for the DECsystem-10 (TOPS-10 monitor 6.03). ; ; The KERMIT protocol was developed at the Columbia University Center ; for Computing Activities and is copyrighted by the Trustees of ; Columbia University, New York, NY 10027. Columbia University has ; given permission for any individual or institution to use the proto- ; col, except for explicitly commercial purposes. ; ; ; ENVIRONMENT: ; ; TOPS-10 monitor 6.03 ; ; ; AUTHOR: ; ; Charles E. Boyd, Created: 03-Apr-1984 ; Computer Research Center ; University of New Orleans ; Lakefront ; New Orleans, LA 70148 ; ; ; MODIFICATIONS: ; ; 001 CEB, 27-Apr-1984 - Original ; 023 CEB, 08-Jul-1984 ; Add code to let SCAN handle switches ;-- SUBTTL The SET Command SET:: SKIPG C ;Something to set? ERROR SET,,.POPJ## ;...No PUSHJ P,.SAVE1## ;Save a register SET20: PUSHJ P,.SIXSW## ;Get keyword argument JUMPE N,SET40 ;Nothing MOVE T1,SETPTR ;Get set table PUSHJ P,.NAME## ;See if valid ERROR SET,<(SET) Illegal or ambigious keyword>,.POPJ## TLZ T1,-1 ;Get table offset SUBI T1,SETNAM ;... PUSHJ P,@SETADR(T1) ;Set the parameter JUMPG C,SET20 ;More to do SET40: SKIPLE C ;End of line? ERROR SET,<(SET) Extraneous text ignored>,.POPJ## PJRST .POPJ1## ;Return .STRMT: SKIPG C ;Anything? ERROR SET,,.POPJ## PUSHJ P,.SIXSW## ;Get argument JUMPE N,SETR40 ;Nothing MOVE T1,SRPTR ;Get remote table ptr PUSHJ P,.NAME## ;Lookup keyword ERROR SET,,.POPJ## TLO F,F.SRMT ;Set SET REMOTE flag TLZ T1,-1 ;Get offset SUBI T1,SRNAM ;... PUSHJ P,@SRADR(T1) ;Hande it TLZ F,F.SRMT ;Clear remote set flag POPJ P, ;Leave SETR40: SKIPLE C ;End of line? ERROR SET, POPJ P, ;Leave SUBTTL The SET MAXLEN and SET TIMEOUT commands ;++ ; ; DESCRIPTION: ; ; This command sets the local maximum packet length and preset the ; remote maximum packet length. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET [remote] MAXLEN ;-- .MAXL: SKIPG C ;Anything? SKIPA N,D.MAXL## ;Use default PUSHJ P,.DECNW## ;Get length CAIL N,24 ;In range? CAILE N,MAXL% ;...? ERROR SET,,.POPJ## TLNE F,F.SRMT ;Remote preset? SKIPA T1,[R.MAXL##] ;...Yes MOVEI T1,L.MAXL## ;...No MOVEM N,(T1) ;Store POPJ P, ;Leave ;++ ; DESCRIPTION: ; ; This command sets the local time out and preset the remotes time ; out values. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET [remote] TIMEOUT ;-- .TIME: SKIPG C ;Anything? SKIPA N,D.TIME## ;Use default PUSHJ P,.DECNW## ;Get length SKIPL N ;In range? CAILE N,TIME% ;...? ERROR SET,,.POPJ## TLNE F,F.SRMT ;Remote preset? SKIPA T1,[R.TIME##] ;...Yes MOVEI T1,L.TIME## ;...No MOVEM N,(T1) ;Store POPJ P, ;Leave SUBTTL The SET NUMPAD and SET PADCHAR commands ;++ ; DESCRIPTION: ; ; This command sets the number of pad characters and presets the ; remote pad characters. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET [remote] NUMPAD ;-- .NPAD: SKIPG C ;Anything? SKIPA N,D.NPAD## ;Use default PUSHJ P,.DECNW## ;Get length SKIPGE N ;In range? ERROR SET,,.POPJ## TLNE F,F.SRMT ;Remote preset? SKIPA T1,[R.NPAD##] ;...Yes MOVEI T1,L.NPAD## ;...No MOVEM N,(T1) ;Store POPJ P, ;Leave ;++ ; DESCRIPTION: ; ; This command sets the character to be used for padding or presets ; the character for the remote kermit. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET [remote] PADCHAR ;-- .PADC: SKIPG C ;Anything? SKIPA N,D.PADC## ;Use default PUSHJ P,.OCTNW## ;Get length SKIPL N ;In range? CAIL N," " ;...? ERROR SET,,.POPJ## TLNE F,F.SRMT ;Preset remote? SKIPA T1,[R.PADC##] ;...Yes MOVEI T1,L.PADC## ;...No MOVEM N,(T1) ;Store POPJ P, ;Leave SUBTTL The SET EOL and SET QUOTE commands ;++ ; DESCRIPTION: ; ; This command sets the EOL character for the local kermit or presets ; the character for the remote kermit ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET [remote] EOL ;-- .EOL: SKIPG C ;Anything? SKIPA N,D.EOL## ;Use default PUSHJ P,.OCTNW## ;Get length SKIPL N ;In range? CAIL N," " ;...? ERROR SET,,.POPJ## TLNE F,F.SRMT ;Remote presetting? SKIPA T1,[R.EOL##] ;...Yes MOVEI T1,L.EOL## ;...No MOVEM N,(T1) ;Store POPJ P, ;Leave ;++ ; DESCRIPTION: ; ; This command sets the quote character or presets it for the remot ; kermit. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET [remote] QUOTE ;-- .QCTL: TLZE F,F.SRMT ;[004]Local or remote? JRST .+3 ;[004]remote MOVEI P1,1 ;[004]local JRST PREFX6 ;[004]go handle local quote CAIE C,":" ;[023]Switch style? JRST QCTL05 ;[023] No (do the Kermit way) PUSHJ P,SWCHR ;[023] Yes get value JRST QCTL10 ;[023]Continue QCTL05: SKIPG C ;Anything? SKIPA C,D.QCTL ;Use default PUSHJ P,.TIAUC## ;Get a character MOVE N,C ;[023]Get char QCTL10: CAME N,QBIN## ;Same as 8-bit quote CAMN N,REPT## ;or repeat? ERROR SET,,.POPJ## CAIL N,"!" ;In low range? CAILE N,">" ;...? SKIPA ;...No JRST .+4 ;...Yes CAIL N,"`" ;In high range? CAILE N,"~" ;...? ERROR SET,,.POPJ## MOVEM N,R.QCTL## ;Store POPJ P, ;Leave SUBTTL The SET BLOCKCHECK command ;++ ; DESCRIPTION: ; ; This command Sets the type of check sums to be used. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET BLOCKCHECK [ 1 | 2 ] ;-- .BLOCK: SKIPG C ;Anything? SKIPA N,D.CHKT## ;...No use default PUSHJ P,.DECNW## ;...Yes SKIPN N ;Zero? MOVE N,D.CHKT## ;...Yes use default still SKIPLE N ;In range? CAIL N,3 ;... ERROR SET,<(BLOC) Value not in range>,.POPJ## MOVEM N,CHKT## ;...Yes POPJ P, ;Leave SUBTTL The SET DEBUG command ;++ ; DESCRIPTION: ; ; This command turns on or off debugging. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET DEBUG [ on | off ] ;-- .DEBUG: PUSHJ P,.SAVE1## ;Save a register SKIPG C ;Anything? SKIPA N,[SIXBIT/ON/] ;No assume on? PUSHJ P,.SIXSW## ;Get keyword word SKIPN N ;Nothing? MOVSI N,(SIXBIT/ON/) ;...Still use default MOVE T1,[IOWD 2,[SIXBIT/OFF ON/]] MOVEI P1,1(T1) ;Save table address PUSHJ P,.NAME## ;Valid? ERROR SET,<(DEBU) Illegal argument>,.POPJ## TLZ T1,-1 ;Get offset SUBI T1,(P1) ;... SKIPN T1 ;ON? TRZA F,F.DEBU ;...No off TRO F,F.DEBU ;Turn on debugging POPJ P, ;Leave SUBTTL The SET DELAY and SET EIGHTBIT command ;++ ; DESCRIPTION: ; ; This command sets the amount of delay before a send command sends its ; first packet to the receiving host. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET DELAY ; ; - The number of seconds to wait between 1 and 60 seconds. If ; the number is out of range then use the default if value is ; zero otherwise print an error message. ;-- .DELAY::SKIPG C ;Anything? SKIPA N,[DELAY%] ;Use default PUSHJ P,.DECNW## ;Get number SKIPN N ;Anything? MOVEI N,DELAY% ;...Still use default SKIPLE N ;In range? CAILE N,^D60 ;... ERROR SET,<(DELA) Value not in range>,.POPJ## MOVEM N,DELAY## ;Store value POPJ P, ;Leave ;++ ; DESCRIPTION: ; ; This command sets eight-bit quoting on or off. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET EIGHTBIT [ on | off ] ;-- .EIGHT: PUSHJ P,.SAVE1## ;Save a register SKIPG C ;Anything? SKIPA N,[SIXBIT/ON/] ;No assume on PUSHJ P,.SIXSW## ;Get keyword SKIPN N ;Anything? MOVSI N,(SIXBIT/ON/) ;No still assume on MOVE T1,[IOWD 2,[SIXBIT/OFF ON/]] MOVEI P1,1(T1) ;Save table address PUSHJ P,.NAME## ;Lookup name ERROR SET,<(DEBU) Illegal argument>,.POPJ## TLZ T1,-1 ;Get offset SUBI T1,(P1) ;... SKIPE T1 ;On? TROA F,F.QBIN ;...Yes TRZ F,F.QBIN ;...No (off) POPJ P, ;Leave SUBTTL The SET REPEAT and SET PREFIX commands ;++ ; DESCRIPTION: ; ; This command sets repeat on or off. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET REPEAT [ on | off ] ;-- .REPEA: PUSHJ P,.SAVE1## ;Save a register SKIPG C ;Anything? SKIPA N,[SIXBIT/ON/] ;No assume on PUSHJ P,.SIXSW## ;Get keyword SKIPN N ;Anything? MOVSI N,(SIXBIT/ON/) ;No still assume on MOVE T1,[IOWD 2,[SIXBIT/OFF ON/]] MOVEI P1,1(T1) ;Save table address PUSHJ P,.NAME## ;Lookup name ERROR SET,<(DEBU) Illegal argument>,.POPJ## TLZ T1,-1 ;Get offset SUBI T1,(P1) ;... SKIPE T1 ;On? TROA F,F.REPT ;...Yes TRZ F,F.REPT ;...No (off) POPJ P, ;Leave ;++ ; DESCRIPTION: ; ; This command sets the characters to be used for prefixing control ; characters, eight-bit characters and repeating characters. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET PREFIX ; ; - Either QUOTE, EIGHTBIT, REPEAT ; ; - Character to be used for one of the above types. It ; must be in the range "!"-">" or "`"-"~" and can not ; be identical to either of the other prefix chars. ;-- .PREFI: PUSHJ P,.SAVE1## ;Save a register SKIPG C ;Anything? PREF05: ERROR SET,<(PREF) No keyword specified>,.POPJ## PUSHJ P,.SIXSW## ;Get keyword JUMPE N,PREF05 ;None MOVE T1,[IOWD 3,[SIXBIT/QUOTE EIGHTBREPEAT/]] MOVEI P1,1(T1) ;Save table address PUSHJ P,.NAME## ;Lookup name ERROR SET,<(PREF) Illegal argument>,.POPJ## TLZ T1,-1 ;Get offset SUBI T1,(P1) ;... MOVEI P1,(T1) ;Save it MOVEI T1,(C) ;Set up for EOLN check JUMPLE C,PREF07 ;Skip if EOLN PREFX6: CAIE C,":" ;[023]Switch style? JRST .+3 ;[023] No do the old way PUSHJ P,SWCHR ;[023]Get character value JRST .+3 ;[023]Continue PUSHJ P,.TIAUC## ;Get character MOVE N,C ;[023] ... CAIL N,"!" ;In low range? CAILE N,">" ;... SKIPA ;...NO JRST .+4 ;...Yes CAIL N,"`" ;In high range? CAILE N,"~" ;... ERROR SET,<(PREF) Character not in range>,.POPJ## MOVEI T1,(N) ;Get prefix character PUSHJ P,.TIAUC## ;Get seperator character PREF07: JRST @[PREF10 ;Go handle the prefix char PREF20 ;... PREF30](P1) ;... HALT ;...(better not) PREF10: SKIPG T1 ;Anything? MOVE T1,D.QCTL## ;Use default quote char CAME T1,QBIN## ;Already a prefix char? CAMN T1,REPT## ;...? ERROR SET,<(PREF) Character already in use>,.POPJ## MOVEM T1,L.QCTL## ;Save it POPJ P, ;Leave PREF20: SKIPG T1 ;Anything? MOVE T1,D.QBIN## ;No use default CAME T1,L.QCTL## ;Quote char? CAMN T1,R.QCTL## ;... ERROR SET,<(PREF) Character already in use>,.POPJ## CAMN T1,REPT## ;Repeat char? ERROR SET,<(PREF) Character already in use>,.POPJ## MOVEM T1,QBIN## ;Store POPJ P, ;Leave PREF30: SKIPG T1 ;Anything? MOVE T1,D.REPT## ;Use default CAME T1,L.QCTL## ;In use already? CAMN T1,R.QCTL## ;... ERROR SET,<(PREF) Character already in use>,.POPJ## CAMN T1,QBIN## ;... ERROR SET,<(PREF) Character already in use>,.POPJ## MOVEM T1,REPT## ;Store it POPJ P, ;Leave SUBTTL The SET ESCAPE and SET LINE commands ;++ ; DESCRIPTION: ; ; This command sets the character that will be used for escape sequences ; during a CONNECT session. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET ESCAPE ; ; - An octal number representing a control character. ;-- .ESCAP: SKIPG C ;Anything? SKIPA N,[ESCAP%] ;Use default PUSHJ P,.OCTNW## ;Get octal number SKIPN N ;Still nothing? MOVEI N,ESCAP% ;Use default SKIPLE N ;In range? CAIL N," " ;... ERROR SET,<(ESCA) Value not in range>,.POPJ## MOVEM N,ESCAPE## ;Store POPJ P, ;Leave ;++ ; DESCRIPTION: ; ; This command sets the default line to be used for transmission and connect ; sequences. The default line is the controlling terminal. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET LINE ; ; - Octal number specifying the line number ;-- .LINE: SKIPG C ;Anything? SKIPA N,CTLLIN## ;Use controlling TTY line PUSHJ P,.OCTNW## ;Get a line number SKIPN N ;Nothing? MOVE N,CTLLIN## ;Still use ctl TTY line HRRZM N,LINENO## ;Store POPJ P, ;Leave SUBTTL The SET STRIP command ;++ ; DESCRIPTION: ; ; This command turns on or off line number and null character stripping ; from a file being sent. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET [no]STRIP [ line.no | null.char ] ;-- .STRIP: PUSHJ P,.SAVE1## ;Save a register MOVEI T1,2 ;Assume BOTH SKIPG C ;Anything? JRST .STR10 ;...No PUSHJ P,.SYMSW## ;Get keyword SKIPN N ;Anything? JRST .STR10 ;...No MOVE T1,[IOWD 3,[SIXBIT/NUMBERNULLS BOTH/]] MOVEI P1,1(T1) ;Save it PUSHJ P,.NAME## ;Lookup name ERROR SET,<(STRI) Illegal argument>,.POPJ## TLZ T1,-1 ;Get offset SUBI T1,(P1) ;... .STR10: SKIPN T1 ;LINENO? TRO F,F.STRI ;...Yes CAIN t1,1 ;NULLCH? TROA F,F.NULL ;...Yes TRO F,F.STRI!F.NULl ;Both then POPJ P, ;Leave .NOSTR: PUSHJ P,.SAVE1## ;Save a register MOVEI T1,2 ;Assume BOTH SKIPG C ;Anything? JRST .NOS10 ;...No PUSHJ P,.SYMSW## ;Get keyword SKIPN N ;Anything? JRST .NOS10 ;...No MOVE T1,[IOWD 3,[SIXBIT/NUMBERNULLS BOTH/]] MOVEI P1,1(T1) ;Save it PUSHJ P,.NAME## ;Lookup name ERROR SET,<(STRI) Illegal argument>,.POPJ## TLZ T1,-1 ;Get offset SUBI T1,(P1) ;... .NOS10: SKIPN T1 ;LINENO? TRZ F,F.STRI ;...Yes CAIN t1,1 ;NULLCH? TRZA F,F.NULL ;...Yes TRZ F,F.STRI!F.NULl ;Both then POPJ P, ;Leave SUBTTL The SET FILE command ;++ ; DESCRIPTION: ; ; This command set file attributes ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET FILE ; ; - One of TYPE, PATH, ACCESS, DISPOSITION ; ; - Match values for the above keywords ;-- .FILE: PUSHJ P,.SAVE2## ;Save some registers SKIPG C ;Anything? .FIL05: ERROR SET,<(FILE) No attribute specified>,.POPJ## PUSHJ P,.SIXSW## ;Get keyword JUMPE N,.FIL05 ;None MOVE t1,[IOWD 4,[SIXBIT/TYPE/;Get table pointer SIXBIT/PATH/;... SIXBIT/ACCESS/;... SIXBIT/DISPOS/]];... MOVEI P1,1(T1) ;Save table address PUSHJ P,.NAME## ;Lookup name ERROR SET,<(FILE) Illegal arguement>,.POPJ## TLZ T1,-1 ;Get offset SUBI T1,(P1) ;... JRST @[.FILET ;Jump to sub routine .POPJ## ;... .POPJ## ;... .POPJ##](T1) ;... HALT ;...(better not) .FILET: PUSHJ P,.SAVE2## ;Save some registers .FIL10: MOVEI P2,0 ;Assume no file type SKIPG C ;Anything? JRST .FIL18 ;No use default PUSHJ P,.SYMSW## ;Get argument JUMPE N,.FIL19 ;None MOVE T1,[IOWD 3,[SIXBIT/ASCII/;Get argument argument SIXBIT/BINARY/;... SIXBIT/PDP10B/;... SIXBIT/AUTO/]];... MOVEI P1,1(T1) ;Save table addr PUSHJ P,.NAME## ;Lookup keyword ERROR SET,<(FTYPE) Illegal argument>,.POPJ## TLZ T1,-1 ;Get offset SUBI T1,(P1) ;... JRST @[.FIL12 ;Set file type .FIL14 ;... .FIL16 ;... .FIL19](T1) ;... HALT ;(can come here) .FIL12: MOVEI P2,.IOASL ;ASCII mode JRST .FIL18 ;... .FIL14: SKIPA P2,[.IOIMG] ;BINARY mode .FIL16: MOVEI p2,.IOBIN ;PDP10.BINARY mode .FIL18: MOVEM P2,FTYPE## ;Store TRZ F,F.AUTO ;Turn on auto file type selection POPJ P, ;Leave .FIL19: SETZM FTYPE## ;Turn on auto file type selection TRO F,F.AUTO ;... POPJ P, ;... SUBTTL The SET MARKER and SET PARITY commands ;++ ; DESCRIPTION: ; ; This command sets the default SOH marker for packets. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET MARKER ;-- .MARKE::SKIPG C ;Anything? SKIPA N,[SOH%] ;Use default PUSHJ P,.OCTNW## ;Get soh marker SKIPLE N ;In range? CAIL N," " ;...? ERROR SET,,.POPJ## CAIE N,L.EOL## ;Already used? CAIN N,R.EOL## ;...? ERROR SET,,.POPJ## MOVEM N,MARKER## ;Store POPJ P, ;Leave ;++ ; DESCRIPTION: ; ; This command sets parity flags. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET PARITY [ none ! space ! mark ! even ! odd ] ;-- .PARIT: SKIPG C, ;Anything? SKIPA N,[SIXBIT/NONE/] ;Use default PUSHJ P,.SIXSW## ;Get parity type MOVE T1,[IOWD 5,[SIXBIT/NONE SPACE MARK EVEN ODD/]] MOVEI P1,1(T1) ;Save table addr PUSHJ P,.NAME## ;Lookup name ERROR SET,,.POPJ## MOVE T1,(T1) ;Get full name MOVEM T1,PARITY## ;Store it POPJ P, ;Leave SUBTTL The SET PROMPT and SET RETRY commands ;++ ; DESCRIPTION: ; ; The command changes the default kermit prompt. ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET PROMPT "prompt string" ;-- .PROMP: SKIPG C ;Anything? POPJ P, ;Leave PUSHJ P,.ASCQW## ;Get string MOVE T1,[.NMUL##,,PROMPT##] ;Transfer it BLT T1,PROMPT+10 ;... POPJ P, ;Leave ;++ ; DESCRIPTION: ; ; This command changes the max number of retrys allowed ; ; ; COMMAND SEQUENCE: ; ; Kermit-10> SET RETRY ;-- .RETRY::SKIPG C ;Anything? SKIPA N,[MXTRY%] ;Use default PUSHJ P,.DECNW## ;Get number SKIPGE N ;In range? ERROR SET,,.POPJ## MOVEM N,MXTRYS## ;Store it POPJ P, ;Leave SUBTTL Switch handling routines SWREPT::TROA F,F.REPT ;[023]Turn on repeating SWEIG:: TRO F,F.QBIN ;[023]Turn on eightbit quoting MOVEM F,FLAGS## ;[025]Store flags SWCHR:: PUSHJ P,.OCTNW## ;[023]Get an octal number JUMPN N,.POPJ## ;[023]Finished PUSHJ P,.TICQT## ;[023]Try a quoted char SKIPN .QUOTE## ;[023] Really? ERROR ISV,,.POPJ## MOVE N,C ;[023]Copy it PJRST .TIAUC## ;[023]Get break char SWLOC:: TLZA F,F.SRMT ;[023]Local set switches SWRMT:: TLO F,F.SRMT ;[023]Remote set switches SWLST:: PUSHJ P,.SIXSW## ;[023]Get a keyword JUMPE N,SWL10 ;[023] None MOVE T1,SETPTR ;[023]Lookup keyword PUSHJ P,.NAME## ;[023] from set line SKIPA T1,['UKS',,[ASCIZ/Unknown switch in option file /]] JRST SWL05 ;[023] Ok TLZ F,F.SRMT ;[023]Turn off remote handling MOVEM F,FLAGS## ;[025]Save flags PUSHJ P,.FMSGN## ;[023]Write error message JRST SWL10 ;[023]Continue SWL05: TLZ T1,-1 ;[023]Clear junk SUBI T1,SETNAM ;[023]Get offset PUSHJ P,@SETADR(T1) ;[023]Handle switch SWL10: CAIN C,"," ;[023]More? JRST SWLST ;[023] Yes TLZ F,F.SRMT ;[023] No MOVEM F,FLAGS## ;[025]Save flags PJRST .POPJ1## ;[023]Leave RELOC SUBTTL Storage SETPTR: IOWD SETLEN,SETNAM SRPTR: IOWD SRLEN,SRNAM SETNAM: EXP SIXBIT/BLOCKC/ ;Blockcheck EXP SIXBIT/DEBUGG/ ;... EXP SIXBIT/DELAY/ ;... EXP SIXBIT/EIGHTB/ ;... EXP SIXBIT/ESCAPE/ ;... EXP SIXBIT/LINE/ ;... EXP SIXBIT/STRIP/ ;... EXP SIXBIT/NOSTRI/ ;... EXP SIXBIT/FILE/ ;... EXP SIXBIT/FILETY/ ;... EXP SIXBIT/REPEAT/ ;... EXP SIXBIT/PREFIX/ ;... EXP SIXBIT/REMOTE/ ;... SRNAM: EXP SIXBIT/PACKET/ ;... EXP SIXBIT/TIMEOU/ ;... EXP SIXBIT/PADDIN/ ;... EXP SIXBIT/PADCHA/ ;... EXP SIXBIT/ENDOFL/ ;... EXP SIXBIT/EOL/ ;... EXP SIXBIT/QUOTE/ ;... EXP SIXBIT/MARKER/ ;... EXP SIXBIT/PARITY/ ;... EXP SIXBIT/PROMPT/ ;... EXP SIXBIT/RETRY/ ;... SETADR: EXP .BLOCK ;SET command addresses EXP .DEBUG ;... EXP .DELAY ;... EXP .EIGHT ;... EXP .ESCAP ;... EXP .LINE ;... EXP .STRIP ;... EXP .NOSTR ;... EXP .FILE ;... EXP .FILET ;... EXP .REPEA ;... EXP .PREFI ;... EXP .STRMT ;... SRADR: EXP .MAXL ;... EXP .TIME ;... EXP .NPAD ;... EXP .PADC ;... EXP .EOL ;... EXP .EOL ;... EXP .QCTL ;... SRLEN==.-SRADR ;Set remote table length EXP .MARKE ;.... EXP .PARIT ;... EXP .PROMP ;... EXP .RETRY ;... SETLEN==.-SETADR ;SET table length END