I'm using ARM nxp lpc2368. When I tried to add a assembly code in startup file. It show me a compilation error "invalid constant (e002c00c) after fixup".

where the code is

mov r2, #0xE002C00C		//address of PINSEL3 : 0xE002C00C

when I refer to this link http://www.ee.ic.ac.uk/pcheung/teaching/ee2_computing/arm/Refcard.pdf

It said in address mode 1 has offset of +-12bit. I tested my code with

mov r2, #0xE002C00C		//address of PINSEL3 : 0x3CC

and it work.

But I thought operand2 is 32bit constant?

anyone can help?

It said in address mode 1 has offset of +-12bit. I tested my code with

mov r2, #0xE002C00C		//address of PINSEL3 : 0x3CC

and it work.

mistake. Should be

mov r2, #0x3CC		//address of PINSEL3 : 0x3CC