|
That startup doesn't make any sense. If the entry point is correct, it seems like you are disassembling wrong data.
Are you starting in ARM or in Thumb mode? the processor always start in ARM mode. Also you must be careful with the endianness of the read values.
> I'm working on a project using an ARM7 cpu (no, it's not another gameboy emu, > lol), and the 1st instruction doesn't make sense to me.. > MOV R6,R0 > > Why set the value of 1 cpu register to another? So I read the datasheet and it > says this peculiar statement: > > "Except for the program counter the ARM7TDMI registers do not have defined reset > states." > > So what value is in the registers then? Garbage? OR is it the LAST value from > the last time the cpu was powered on? I didn't think cpu registers could do > this? > > It's quite strange, that the 1st 3 lines of code executed are: > MOV R6,R0 > MOV R7,R1 > MOV R8,R2 > > I mean, if those values are undefined at reset, how can you want to store them > to other registers? > > The only thing to me that makes any sense would be that the cpu register values > are somehow retained from last powerup, and this codeblock is just storing that > information.. Even still, why bother? > > Anyone can help explain this or have thoughts on this strangeness? > > Thanks- > > PS - I'm sure more ARM7 questions to follow.. :) >
|