Macro Parameters/Substitution Symbols
5-10
Example 5–5 shows built-in substitution symbol functions.
Example 5–5. Using Built-In Substitution Symbol Functions
.asg
label, ADDR
; ADDR = label
.if
($symcmp(ADDR,”label”) = 0); evaluates to true
SUB
ADDR, A
.endif
.asg
”x,y,z” , list
; list = x,y,z
.if
($ismember(ADDR,list))
; addr = x, list = y,z
SUB
ADDRA, A
; sub x
.endif
5.3.4
Recursive Substitution Symbols
When the assembler encounters a substitution symbol, it attempts to
substitute the corresponding character string. If that string is also a substitution
symbol, the assembler performs substitution again. The assembler continues
doing this until it encounters a token that is not a substitution symbol or until
it encounters a substitution symbol that it has already encountered during this
evaluation.
In Example 5–6, the x is substituted for z; z is substituted for y; and y is
substituted for x. The assembler recognizes this as infinite recursion and
ceases substitution.
Example 5–6. Recursive Substitution
.asg
”x”,z
; declare z and assign z = ”x”
.asg
”z”,y
; declare y and assign y = ”z”
.asg
”y”,x
; declare x and assign x = ”y”
add
x, A
*
add
x, A
; recursive expansion
Summary of Contents for TMS320C54x
Page 38: ......
Page 39: ......
Page 40: ......
Page 41: ......
Page 42: ......
Page 43: ......
Page 44: ......
Page 45: ......
Page 46: ......
Page 47: ......
Page 48: ......
Page 49: ......
Page 50: ......
Page 51: ......
Page 52: ......
Page 53: ......
Page 54: ......
Page 55: ......
Page 56: ......
Page 57: ......
Page 58: ......
Page 59: ......
Page 60: ......
Page 61: ......
Page 62: ......
Page 276: ......
Page 277: ......
Page 278: ......
Page 279: ......
Page 280: ......
Page 281: ......
Page 282: ......
Page 283: ......
Page 284: ......
Page 285: ......
Page 286: ......
Page 287: ......
Page 288: ......
Page 289: ......
Page 290: ......
Page 291: ......
Page 292: ......
Page 293: ......
Page 294: ......
Page 295: ......
Page 296: ......
Page 297: ......
Page 298: ......
Page 299: ......
Page 300: ......
Page 301: ......
Page 302: ......