Symbols
3-21
Assembler Description
3.8.6
Local Labels
Local labels are special labels whose scope and effect are temporary. A local
label can be defined in two ways:
-
$n, where n is a decimal digit in the range of 0–9. For example, $4 and $1
are valid local labels.
-
NAME?, where NAME is any legal symbol name as described above. The
assembler replaces the question mark with a period followed by a unique
number. When the source code is expanded, you will not see the unique
number in the listing file. Your label appears with the question mark as it
did in the macro definition. You cannot declare this label as global.
Normal labels must be unique (they can be declared only once), and they can
be used as constants in the operand field. Local labels, however, can be
undefined and defined again or automatically generated. Local labels cannot
be defined by directives.
A local label can be undefined, or reset, in one of four ways:
-
By using the .newblock directive
-
By changing sections (using a .sect, .text, or .data directive)
-
By entering an include file (specifying the .include or .copy directive)
-
By leaving an include file (specifying the .include or .copy directive)
Example 3–1 demonstrates the $
n form. This example assumes that symbols
ADDRA, ADDRB, ADDRC have been defined previously.
Example 3–1. $n Local Labels
(a) Code that uses a local label legally
Label1:
LD ADDRA, A
; Load Address A to Accumulator A.
SUB ADDRB, A
; Subtract Address B.
BC $1, ALT
; If less than zero, branch to $1;
LD ADDRB, A
; otherwise, load ADDRB to A
B $2
; and branch to $2.
$1
LD ADDRA, A
; $1: load ADDRA to Accumulator A.
$2
ADD ADDRC, A
; $2: add ADDRC.
.newblock
; Undefine $1 so it can be used
; again.
BC $1, ALT
; If less than zero, branch to $1.
STL A, ADDRC
; Store ACC low in ADDRC.
$1
NOP
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: ......