Hi,
I find C code not executing in the desired way. Then I step in assembly code of Tiva-C M4F core. Below is the disassembly code:
$C$L5: nop
0000033a: 280A CMP R0, #10
0000033c: D3C9 BCC $C$L5
here_label:
R0 is '0'. It is found that after BCC exec, the core goes $C$L5, not goes to here_label.
In xPSR, 'C' is '0'. I want to know BCC in detail, but the found description online is ambiguous to me. Especially the last column comments on Arithmetic. Could you explain the disassembly code running when flag 'C'=0, it goes to $C$L5, not here_label?
Thanks,
> This is because the carry flag operates in the oposite way on ARM than on most other architectures.
This statement applies to subtraction and instruction that uses subtraction to accomplish an operation.
Just to avoid misinterpretation.
Yes, that's correct. Sorry for the confusion.