beautypg.com

Stack pointer – sp, Attiny26(l) – Rainbow Electronics ATtiny26L User Manual

Page 19

background image

19

ATtiny26(L)

1477B–AVR–04/02

• Bit 2 – N: Negative Flag

The Negative Flag N indicates a negative result after the different arithmetic and logic
operations. See the Instruction Set Description for detailed information.

• Bit 1 – Z: Zero Flag

The Zero Flag Z indicates a zero result after the different arithmetic and logic opera-
tions. See the Instruction Set Description for detailed information.

• Bit 0 – C: Carry Flag

The Carry Flag C indicates a carry in an arithmetic or logic operation. See the Instruction
Set Description for detailed information.

Stack Pointer – SP

The ATtiny26/L Stack Pointer is implemented as an 8-bit register in the I/O space loca-
tion $3D ($5D). As the ATtiny26/L data memory has 224 ($E0) locations, eight bits are
used.

The Stack Pointer points to the data SRAM stack area where the Subroutine and Inter-
rupt Stacks are located. This Stack space in the data SRAM must be defined by the
program before any subroutine calls are executed or interrupts are enabled. The Stack
Pointer must be set to point above $60. The Stack Pointer is decremented by one when
data is pushed onto the Stack with the PUSH instruction, and it is decremented by two
when an address is pushed onto the Stack with subroutine calls and interrupts. The
Stack Pointer is incremented by one when data is popped from the Stack with the POP
instruction, and it is incremented by two when an address is popped from the Stack with
return from subroutine RET or return from interrupt RETI.

Bit

7

6

5

4

3

2

1

0

$3D ($5D)

SP7

SP6

SP5

SP4

SP3

SP2

SP1

SP0

SP

Read/Write

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Initial Value

0

0

0

0

0

0

0

0