I have some questions about the stacks used in ARM...
1.) STR Rx, [SP,#-4]!
2.) LDR Rx, [SP], #4
OK... I know the first instruction stores Rx into the stack. I also know that the SP will move 4 bit lower. I do not know if it's afterwards or before... what's that "!" mean?
For the second instructions, I know that the 4bit value will be popped into Rx. I also do know if it move the SP 4 bit higher afterwards or before the operation is performed.
Is there something special putting the #4 inside and outside of the []?
Thank you.
1.) STR Rx, [SP,#-4]!
2.) LDR Rx, [SP], #4
OK... I know the first instruction stores Rx into the stack. I also know that the SP will move 4 bit lower. I do not know if it's afterwards or before... what's that "!" mean?
For the second instructions, I know that the 4bit value will be popped into Rx. I also do know if it move the SP 4 bit higher afterwards or before the operation is performed.
Is there something special putting the #4 inside and outside of the []?
Thank you.
