
Macro Parameters/Substitution Symbols
5-13
Macro Language
Example 5–9. Using Subscripted Substitution Symbols to Find Substrings
substr
.macro
start,strg1,strg2,pos
.var
LEN1,LEN2,I,TMP
.if
$symlen(start) = 0
.eval
1,start
.endif
.eval
0,pos
.eval
1,i
.eval
$symlen(strg1),LEN1
.eval
$symlen(strg2),LEN2
.loop
.break
i = (LEN2 – LEN1 + 1)
.asg
”:strg2(i,LEN1):”,TMP
.if
$symcmp(strg1,TMP) = 0
.eval
i,pos
.break
.else
.eval
i + 1,i
.endif
.endloop
.endm
.asg
0,pos
.asg
”ar1 ar2 ar3 ar4”,regs
substr
1,”ar2”,regs,pos
.data
.word
pos
In Example 5–9, the subscripted substitution symbol is used to find a substring
strg1, beginning at position start in the string strg2. The position of the
substring strg1 is assigned to the substitution symbol pos.
5.3.7
Substitution Symbols as Local Variables in Macros
If you want to use substitution symbols as local variables within a macro, you
can use the .var directive to define up to 32 local macro substitution symbols
(including parameters) per macro. The .var directive creates temporary substi-
tution symbols with the initial value of the null string. These symbols are not
passed in as parameters, and after expansion they are lost.
.var
sym
1
[,sym
2
] ... [,sym
n
]
The .var directive is used in Example 5–8 and Example 5–9.
Содержание TMS320C54x
Страница 38: ......
Страница 39: ......
Страница 40: ......
Страница 41: ......
Страница 42: ......
Страница 43: ......
Страница 44: ......
Страница 45: ......
Страница 46: ......
Страница 47: ......
Страница 48: ......
Страница 49: ......
Страница 50: ......
Страница 51: ......
Страница 52: ......
Страница 53: ......
Страница 54: ......
Страница 55: ......
Страница 56: ......
Страница 57: ......
Страница 58: ......
Страница 59: ......
Страница 60: ......
Страница 61: ......
Страница 62: ......
Страница 276: ......
Страница 277: ......
Страница 278: ......
Страница 279: ......
Страница 280: ......
Страница 281: ......
Страница 282: ......
Страница 283: ......
Страница 284: ......
Страница 285: ......
Страница 286: ......
Страница 287: ......
Страница 288: ......
Страница 289: ......
Страница 290: ......
Страница 291: ......
Страница 292: ......
Страница 293: ......
Страница 294: ......
Страница 295: ......
Страница 296: ......
Страница 297: ......
Страница 298: ......
Страница 299: ......
Страница 300: ......
Страница 301: ......
Страница 302: ......