Yahoo Groups archive

Lpc2000

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

Thread

LPC2104 - PAbt on return form subroutine

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.

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.