Operations:

Syntax:

Operation:

Operands:

Program Counter:

Opcode

Comment

Stack:

PUSH Rr

STACK = Rr

0 <= r <= 31

PC = PC + 1

1001001ddddd1111

SP = SP - 1

Description

This instruction stores the contents of register Rr on the STACK. The Stack Pointer is post-decremented by 1 after the PUSH.

This instruction is not available on all devices. Refer to Appendix A.

Status Register (SREG) and Boolean Formula

I

T

H

S

V

N

Z

C

Example:

      call  routine  ; Call subroutine
      ...
routine: 
      push  r14      ; Save r14 on the Stack
      push  r13      ; Save r13 on the Stack
      ...
      pop   r13      ; Restore r13
      pop   r14      ; Restore r14
      ret            ; Return from subroutine

Words

1 (2 bytes)

Table Cycles

Name

Cycles

AVRe

2

AVRxm

1(1)

AVRxt

1

AVRrc

1

Note:

1.

Cycle times for data memory access assume internal RAM access and are not valid for accessing external RAM.