• # symbol
Table 1-9 on page 1-72
register constraint letter. The use of any letter not listed in the "Con-
straint" column of this table results in unspecified behavior. The compiler
does not check the validity of the code by using the constraint letter.
Table 1-10 on page 1-73
the clobber list.
It is also possible to claim registers directly, instead of requesting a register
from a certain class using the constraint letters. You can claim the registers
directly by simply naming the register in the location where the class letter
would be. The register names are the same as those used to specify the
clobber list; see
For example,
asm("%0 = %1 + %2;"
:"=ar"(sum)
:"g"(x),"G"(y)
);
would load
be calculated in register
VisualDSP++ 3.5 C/C++ Compiler and Library Manual
for ADSP-219x DSPs
be referenced. (This situation sometimes occurs if
the
template contains more than one instruc-
asm()
tion.)
Example:
&d
The operand is an input, but the register's value is
clobbered by the
compiler may make no assumptions about the regis-
ter's final value. The operand must appear as part of
the second argument to the
Example:
#d
lists the registers that may be allocated for each
lists the registers that may be named as part of
Table
1-10.
/* output */
/* input
into
register,
x
ALU-X
.
AR
template execution. The
asm()
construct.
asm()
*/
into
register, and
y
ALU-Y
Compiler
will
sum
1-71
Need help?
Do you have a question about the VISUALDSP++ 3.5 and is the answer not in the manual?