.sbttl	COMMAND TABLES AND REFERENCE STRINGS
;	====================================

; Refer to the material in CEX.MAC for information on how these tables are
; used in processing commands.

	.psect	ucltbl

.sbttl	.	Command Execution Address List

	.word	badcom, ambchw	;Bad and ambiguous commands
cealst::
	.word	lister		;Hidden "?" command for TSX+ V5; same as LIST
.iif ne cd$c,	.word	chngdf	;CD
	.word	chain		;CHAIN
	.word	dsplay		;DISPLAY
	.word	erase		;ERASE
	.word	lister		;LIST
	.word	nchain		;NOCHAIN
	.word	npath		;NOPATH
	.word	nosl		;NOSL
.iif ne uci$c,	.word	nucimd	;NOUCI_MODE
	.word	pass		;PASS
	.word	path		;PATH
	.word	promt		;PROMPT
	.word	recall		;RECALL
.iif ne ucl$xm,	.word	reload	;RELOAD
.iif ne rno$c,	.word	rno	;RNO
	.word	slon		;SLON
	.word	store		;STORE
.iif ne uci$c,	.word	ucimod	;UCI_MODE
	.word	0

.sbttl	.	Reference String Address List

rsalst::
	.word	huh
rsals0:
.iif ne cd$c,	.word	schngd
	.word	schain
	.word	sdspla
	.word	serase
	.word	sliste
	.word	snchan
	.word	snpath
	.word	snosl
.iif ne uci$c,	.word	snucim
	.word	spass
	.word	spath
	.word	spromt
	.word	srecal
.iif ne ucl$xm,	.word	sreloa
.iif ne rno$c,	.word	srno
	.word	sslon
	.word	sstore
.iif ne uci$c,	.word	sucimd
	.word	0
.sbttl	.	Reference Strings: Commands

; The "PFX" values in this list are the hard-wired command prefix characters
; used when UCI_MODE is in effect.

; Handy macro:

.macro	hwrfst	label, prefix, text
.iif ne prefix,	.byte	prefix
label':	.asciz	"'text'"
.endm

	.nlist	bex
.if ne cd$c
	hwrfst	schngd, pfx, text=CD
.endc
	hwrfst	schain, pfx, text=CHAIN
	hwrfst	sdspla, pfx, text=DISPLAY
	hwrfst	serase, pfx, text=ERASE
	hwrfst	sliste, pfx, text=LIST
	hwrfst	snchan, pfx, text=NOCHAIN
	hwrfst	snpath, pfx, text=NOPATH
	hwrfst	snosl,  pfx, text=NOSL
.if ne uci$c
	hwrfst	snucim, pfx, text=NOUCI_MODE
.endc
	hwrfst	spass,  pfx, text=PASS_ON
	hwrfst	spath,  pfx, text=PATH
	hwrfst	spromt, pfx, text=PROMPT
	hwrfst	srecal, pfx, text=RECALL
.if ne ucl$xm
	hwrfst	sreloa, pfx, text=RELOAD
.endc
.if ne rno$c
	hwrfst	srno,   pfx, text=RNO
.endc
	hwrfst	sslon,  pfx, text=SLON
	hwrfst	sstore, pfx, text=STORE
.if ne uci$c
	hwrfst	sucimd, pfx, text=UCI_MODE
.endc
	.even
.sbttl	.	Reference Strings: Switches & Arguments

star:	.asciz	/*/
allsw:	.asciz	/ALL/
bnysw:	.asciz	/BINARY/
comsw:	.asciz	/COMMANDS/
exesw:	.asciz	/EXECUTE/
frmsw:	.asciz	/FORM0/
jnlsw:	.asciz	/JOURNAL/
nexsw:	.asciz	/NOEXECUTE/
nfrmsw:	.asciz	/NOFORM0/
noqsw:	.asciz	/NOQUERY/
noqtsw:	.asciz	/NOQUIET/
outsw:	.asciz	/OUTPUT/
prnsw:	.asciz	/PRINTER/
pmtsw:	.asciz	/PROMPT/
qrysw:	.asciz	/QUERY/
qtsw:	.asciz	/QUIET/
tosw:	.asciz	/TO/
symsw:	.asciz	/SYMBOLS/
trmsw:	.asciz	/TERMINAL/
versw:	.asciz	/VERSION/
	.list	bex
	.even
.sbttl	.	Command Execution Status List

; This list provides information about the execution characteristics of the
; hard-wired commands.

; cxdsp ==> Command is potentially DISPLAYable
; cxnuc ==> Command text may not be "memorized"

	.word	cxdsp,cxdsp ;Bad and abiguous commands
cxslst::
	.word	0	;Hidden "?" command for TSX-Plus V5; same as LIST
.iif ne cd$c,	.word	cxdsp	;CD
	.word	0	;CHAIN
	.word	0	;DISPLAY
	.word	0	;ERASE
	.word	cxnuc	;LIST
	.word	0	;NOCHAIN
	.word	0	;NOPATH
	.word	cxdsp	;NOSL
.iif ne uci$c,	.word	0	;NOUCI_MODE
	.word	cxnuc	;PASS
	.word	0	;PATH
	.word	0	;PROMPT
	.word	0	;RECALL
.iif ne ucl$xm,	.word	0	;RELOAD
.iif ne rno$c,	.word	cxdsp	;RNO
	.word	cxdsp	;SLON
	.word	0	;STORE
.iif ne uci$c,	.word	0	;UCI_MODE
	.word	0

.sbttl	.	Symbol Execution Address List

	.word	badcm0
	.word	ambcom
sealst::
	.rept	nsyms
	.word	syproc
	.endr
