Yahoo Groups archive

Lpc2000

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

Message

What Tha..?

2004-01-23 by James Dabbs

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 ****
	}

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.