| |||
| Home > Using the Inline and Embedded Assemblers of the ARM Compiler > Inline assembler BL and SVC corrupted register list | |||
The BL and SVC instructions of the
inline assembler have the following format:
SVC{cond} svc_num, {input_param_list}, {output_value_list}, {corrupt_reg_list}
BL{cond} function, {input_param_list}, {output_value_list}, {corrupt_reg_list}
specifies
the physical registers that are corrupted by the called function.
If the condition flags are modified by the called function, you
must specify the corrupt_reg_list PSR in the corrupted register
list.
The BL and SVC instructions always
corrupt lr.
If is
omitted then for corrupt_reg_list BL and SVC, the registers r0-r3, lr and
the PSR are corrupted.
Only the branch instruction, B, can be used to
jump to labels within a single C or C++ function.
By default, if you do not specify any registers, corrupt_reg_list r0 to r3, r14,
and the PSR can be corrupted.
It is not possible to specify the lr, sp,
or pc registers in the corrupt register list.