LPC2104 - PAbt on return form subroutine
2004-06-30 by Jim Beagley
This instruction is causing a complete freeze up in my code. I am several levels into the User Stack at this point. ---- 00004140: E49DF004 LDR PC,[SP],#0x4 ---- Before this instruction is executed, the SP_Curr = 0x40003E3B the data at that address: ---- 40003E30: 40003E3F ANDMI R3,R0,PCLSR #28 40003E34: 00002ED4 **** Invalid Instruction **** 40003E38: 00002EF4 **** Invalid Instruction **** 40003E3C: 40003E67 ANDMI R3,R0,R7,ROR #28 40003E40: 00000000 ANDEQ R0,R0,R0 40003E44: 00000000 ANDEQ R0,R0,R0 40003E48: 00000000 ANDEQ R0,R0,R0 40003E4C: 00000000 ANDEQ R0,R0,R0 40003E50: 40003AB3 STRMIH R3,[R0,-R3] 40003E54: 40003E8B ANDMI R3,R0,R11,LSL #29 40003E58: 40003E67 ANDMI R3,R0,R7,ROR #28 40003E5C: 00001E9C MULEQ R0,R12,LR 40003E60: 00002D8C ANDEQ R2,R0,R12,LSL #27 40003E64: 00000000 ANDEQ R0,R0,R0 ---- after instruction is Assembly stepped, the PC goes to: 0x0000000C which is the PAbt vector ---- If I am correct, this should simply place 0x2EF4 into the PC register, and go on it's merry way. The code example is a disassembly of a C coded program. Thanks for any help on this one.