From AVR Instruction set manual:
-- START --
PUSH - Push Register on Stack Description: This instruction stores the contents of register Rr on the STACK. The stack pointer is post-decremented by 1 after the PUSH.
Operation: STACK ← Rr
Syntax: Operands: Program Counter: Stack: PUSH Rr 0 ≤ r ≤ 31 PC ← PC + 1 SP ← SP - 1
-- END --
Correct me if i am wrong, From my understanding it will move whatever is in register Rr to stack. So now because the stack is credentialing (SP ← SP - 1), does it mean that it is growing downwards?
Also, as the current Program counter (before increment) had the instruction to Push. Which is carried out so we want to go to next instruction, so we increase the Program counter (PC ← PC + 1 ). Am i correct?
Thanks