blob: aeded9785af8956c226783b2b0cb3f33c31ba9a6 [file] [log] [blame]
*
* String substitution symbols
*
; if no quotes, interpret as subsymbol
; if quotes, interpret as string, and do forced substitution
.sslist
.asg value,SYMBOL
.asg SYMBOL,SYMBOL1
.global label, x
.word x
* Substitution symbol functions
label: .word $symlen(SYMBOL) ; 5, substitutes string for symbol
.word $symlen(":SYMBOL:") ; 5, forced substitution
.word $symlen("SYMBOL") ; 6, uses string directly
.word $symcmp(SYMBOL,"value") ; 0
; requires 2nd arg to be a character; zero if not found
.word $firstch(":SYMBOL:",'a') ; 2
.word $lastch(SYMBOL,'a') ; 2
.word $isdefed(SYMBOL) ; 0 (value not in symtab)
.word $isdefed("label") ; 1 (string contents in symtab)
.word $isdefed("unknown") ; 0
.asg "1,2,3", list
; both args must be identifiers
.word $ismember(SYMBOL,list) ; 1
.word SYMBOL ; now 1
.word list ; now 2,3
.word $iscons("010b") ; 1
.word $iscons("11111111B") ; 1
.word $iscons("011") ; 2 (5 -- TI bug)
.word $iscons("0x10") ; 3 (0 -- TI bug)
.word $iscons("'a'") ; 4
.word $iscons(SYMBOL) ; 5 ("1")
.word $iscons("SYMBOL") ; 0
.word $isname(SYMBOL) ; 0
.word $isreg(SYMBOL) ; 0
.word $isreg("AR0") ;
; .word $isreg("AG") ; should be 0, but we always
; use mmregs
.mmregs
x .word $isreg("AG") ; 1 if .mmregs, 0 otherwise
tag .struct 10
.word 1
.endstruct
.word $structsz(tag)
.word $structacc(tag) ; this op is unspecified
.end