On Fri, Jan 23, 2004 at 03:37:38PM -0500, James Dabbs 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 ****
> }
there seems to be some mysterious missing space between
the addresses of several instructions, ie, 60000148 then 6000016c
with no indication if there is any more data inbetween?
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.Message
Re: [lpc2100] What Tha..?
2004-01-24 by Ben Dooks
Attachments
- No local attachments were found for this message.