|
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.. :)
|