Does this actually happen ?! This is a complete disaster !! I'm more worried about the line above the one you mentioned, which always tries to write a 4 at address 4 (?!) I just tried the code in 3.1 and it generates clean code with -O4. What's your opt level? I need a cold beer after this.
--- James Dabbs <jdabbs@...> wrote:
> Why is GNU 3.3.2 generating this code? Am I reading
> this wrong, or am I
> using the wrong compiler??
>
> Thanks for any insight!
>
> void Test(unsigned long Base)
> {
> register volatile U8 * TestP = (volatile U8 *)(Base
> + 0x5555);
> 60000134: E3A01101 MOV R1,#0x40000000
> 6000013C: E2802055 ADD R2,R0,#0x55
> 6000015C: E2801C55 ADD R1,R0,#0x5500
> 60000160: E2810055 ADD R0,R1,#0x55
> while (1)
> 60000140: E3A01004 MOV R1,#0x4
> 60000164: E3A02004 MOV R2,#0x4
> {
> *TestP = 4;
> 60000144: E5C21000 STRB R1,[R2,#0x0]
> 60000168: E5C02000 STRB R2,[R0,#0x0] <<--
> What is THIS??
> *TestP = (*TestP) + 1;
> 60000148: E5D2C000 LDRB R12,[R2,#0x0]
> 6000016C: E5D0C000 LDRB R12,[R0,#0x0]
> 60000170: E28C1001 ADD R1,R12,#0x1
> 60000174: E5C01000 STRB R1,[R0,#0x0]
> 60000178: EAFFFFFA B 0x60000168
> 6000017C: 00 **** Invalid Instruction
> ****
> }
>
---------------------------------
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!Message
Re: [lpc2100] What Tha..?
2004-01-23 by Bogdan Marinescu
Attachments
- No local attachments were found for this message.