Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] crossworks gcc dissassembly

2005-11-03 by Rob Jansen

Robert,

>  I think I0CLR has different address then I0SET. Is it possible, that the
>  same code will produce the same result (if yes I would think ARM &
>  crossworks are very smart)

I think you mean "different result" and yes it is - and it's not that
smart ...

>  IO0CLR = IOW;                                 // Toggle IOW-signal
>           4A10   ldr r2, [pc, #16]
>           2308   mov r3, #8
>           6013   str r3, [r2, #0]

The ldr r2,[pc, #16] will load R2 with the content of PC + 16. You will
find a 32 bits address value at that memory location.
The same thing applies for the "IO0SET = IOW" you showed.
Although the code is exactly the same, the value read into R2 will be
different since the Program Counter has a different value.

Rob

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.