Assembly Constructs With Multiple Instructions; Assembly Construct Reordering And Optimization - Analog Devices VISUALDSP++ 3.5 Manual

C/c++ compiler and library for adsp-219x processors
Hide thumbs Also See for VISUALDSP++ 3.5:
Table of Contents

Advertisement

C/C++ Compiler Language Extensions
Table 1-10. Register Names for asm() Constructs (Cont'd)
Clobber String
"astat"
"MSTAT", "MMODE", "SSTAT"
"IMASK", "ICNTL", "IFC"
"CNTR", "STACKA", "STACKP"
"IJPG", "IOPG",
"cc"
"memory"

Assembly Constructs with Multiple Instructions

There can be many assembly instructions in one template. If the
string is longer than one line, you may continue it on the next line by
placing a backslash (
separately.
This is an example of multiple instructions in a template:
asm ("se=exp %1 (hi); \
"sr=norm %1 (hi);
"%0=sr0;"
: "=e" (normalized)
: "e" (inval) ;
: "se", "sr2", "sr1", "sr0") ;

Assembly Construct Reordering and Optimization

For the purpose of optimization, the compiler assumes that the side effects
of an
construct are limited to changes in the output operands or the
asm()
items specified using the clobber specifiers. This does not mean that you
1-74
) at the end of the line or by quoting each line
\
\
VisualDSP++ 3.5 C/C++ Compiler and Library Manual
Meaning
ALU status register
mode control register
Interrupt registers
Program sequencer register
Paging/overlay register;
ADSP-2190 DSP only
Condition code register
Unspecified memory location(s)
// output
// input
// clobbers
for ADSP-219x DSPs
asm()

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the VISUALDSP++ 3.5 and is the answer not in the manual?

Questions and answers

Related Products for Analog Devices VISUALDSP++ 3.5

Table of Contents