Using Conditional Assembly in Macros
5-15
Macro Language
5.5
Using Conditional Assembly in Macros
The conditional assembly directives are .if/.elseif/.else/.endif and .loop/
.break/.endloop. They can be nested within each other up to 32 levels deep.
The format of a conditional block is:
.if
well-defined expression
[.elseif
well-defined expression]
[.else well-defined expression]
.endif
The .elseif and .else directives are optional, and they can be used more than
once within a conditional assembly code block. When .elseif and .else are
omitted, and when the .if expression is false (0), the assembler continues to
the code following the .endif directive. For more information on the .if/
.elseif/.else/.endif directives, see page 4-56.
The .loop/.break/.endloop directives enable you to assemble a code block
repeatedly. The format of a repeatable block is:
.loop
[well-defined expression]
[.break [
well-defined expression]]
.endloop
The .loop directive’s optional expression evaluates to the loop count (the
number of loops to be performed). If the expression is omitted, the loop count
defaults to 1024 unless the assembler encounters a .break directive with an
expression that is true (nonzero). For more information on the .loop/
.break/.endloop directives, see page 4-65.
The .break directive and its expression are optional. If the
expression
evaluates to false, the loop continues. The assembler breaks the loop when
the .break expression evaluates to true or when the .break expression is
omitted. When the loop is broken, the assembler continues with the code after
the .endloop directive.
Example 5–10, Example 5–11, and Example 5–12 show the .loop/.break/
.endloop directives, properly nested conditional assembly directives, and
built-in substitution symbol functions used in a conditional assembly code
block.
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: ......