07-03-2021, 06:22 PM
Hey, This isn't related to the last question but I'm wondering, is my understanding of these instructions correct?
lwzu
Load Word Zero Update
The value in Register A will be loaded into whatever Address is in Register B.
After the instruction is executed, The address in Register B is updated by the value you specify
EXAMPLE :
lwzu r1, 4(r2)
* The address in Register B starts as 0x80000004. After execution of this instruction, it becomes 0x80000008. It changed because it was updated by the pointer, which was 0x4.
After the instruction is executed, The address in Register B is updated by the value you specify
EXAMPLE :
lwzu r1, 4(r2)
* The address in Register B starts as 0x80000004. After execution of this instruction, it becomes 0x80000008. It changed because it was updated by the pointer, which was 0x4.
lwzx
Load Word Zero Indexed
The value in Register A will be loaded into whatever Address is in Register C.
After the instruction is executed, The address in Register C is updated by the value in Register A.
The new address is stored in Register B
After the instruction is executed, The address in Register C is updated by the value in Register A.
The new address is stored in Register B
EXAMPLE :
lwzx r1, r2, r3
*When I figure out how this works, I'll add an example
*When I figure out how this works, I'll add an example