| |||
| Home > Using the Inline and Embedded Assemblers of the ARM Compiler > Inline assembler instruction restrictions in C and C++ code | |||
The following instructions are not supported in the inline assembler:
BKPT , BX , BXJ,
and BLX instructions
You can insert a BKPT instruction in C and C++
code by using the __breakpoint() intrinsic.
LDR Rpseudo-instruction.
Use n, =expression MOV Rinstead.
(This can generate a load from a literal pool.)n, expression
LDRT, LDRBT, STRT,
and STRBT instructions
MUL, MLA, UMULL, UMLAL, SMULL,
and SMLAL flag setting instructions
MOV or MVN flag-setting
instructions where the second operand is a constant
user-mode LDM instructions
ADR and ADRL pseudo-instructions.
You can use MOV Rinstead
of the n, &expression; ADR and ADRL pseudo-instructions.