This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Instruction LDM showing unexpected errors

Other Parts Discussed in Thread: AM3352

I have an instruction in my ARM assembly program for Cortex-M3:

LDMIA sp!, {lr}

When I try replacing this instruction with LDM  sp!, {lr} for the recommended UAL syntax (as IA is the default addressing mode), I get the following error:

 INTERNAL ERROR!: Unexpected operand in LDM/STM conversion

 This may be a serious problem.  Please contact customer support with a description of the problem and a sample of the sourcefile that caused this message to appear.

 But it is amazing to see that the instruction:

LDM sp!,{R0-R12,R14}

executes without any errors.

The LDM instruction shows this error, when we are using sp or LR as one of the operands, and we have a single register in the register list. There is a workaround for this by using the other registers instead of sp or LR, but is this a problem really?