ThreeLevelStack Class Reference

Implements a stack with 3 levels deep (used as returnstack by ATtiny15 an other). More...

#include <hwstack.h>

Inheritance diagram for ThreeLevelStack:
Inheritance graph
[legend]
Collaboration diagram for ThreeLevelStack:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ThreeLevelStack (AvrDevice *core)
 ~ThreeLevelStack ()
virtual void Push (unsigned char val)
 Pushs one byte to stack.
virtual unsigned char Pop ()
 Pops one byte from stack.
virtual void PushAddr (unsigned long addr)
 Pushs a address to stack.
virtual unsigned long PopAddr ()
 Pops a address from stack.
virtual void Reset ()
 Resets stack pointer and listener table.

Protected Attributes

unsigned long * stackArea

Detailed Description

Implements a stack with 3 levels deep (used as returnstack by ATtiny15 an other).

Definition at line 159 of file hwstack.h.


Constructor & Destructor Documentation

ThreeLevelStack::ThreeLevelStack ( AvrDevice core  ) 

Definition at line 185 of file hwstack.cpp.

References avr_new, Reset(), stackArea, HWStack::stackPointer, and trace_direct().

Here is the call graph for this function:

ThreeLevelStack::~ThreeLevelStack (  ) 

Definition at line 193 of file hwstack.cpp.

References avr_free(), and stackArea.

Here is the call graph for this function:


Member Function Documentation

unsigned char ThreeLevelStack::Pop (  )  [virtual]

Pops one byte from stack.

Implements HWStack.

Definition at line 207 of file hwstack.cpp.

References avr_error.

unsigned long ThreeLevelStack::PopAddr (  )  [virtual]

Pops a address from stack.

Implements HWStack.

Definition at line 224 of file hwstack.cpp.

References avr_warning, stackArea, and HWStack::stackPointer.

void ThreeLevelStack::Push ( unsigned char  val  )  [virtual]

Pushs one byte to stack.

Implements HWStack.

Definition at line 203 of file hwstack.cpp.

References avr_error.

void ThreeLevelStack::PushAddr ( unsigned long  addr  )  [virtual]

Pushs a address to stack.

Implements HWStack.

Definition at line 212 of file hwstack.cpp.

References avr_warning, HWStack::lowestStackPointer, stackArea, and HWStack::stackPointer.

void ThreeLevelStack::Reset ( void   )  [virtual]

Resets stack pointer and listener table.

Reimplemented from HWStack.

Definition at line 197 of file hwstack.cpp.

References HWStack::lowestStackPointer, HWStack::returnPointList, and HWStack::stackPointer.

Referenced by ThreeLevelStack().

Here is the caller graph for this function:


Member Data Documentation

unsigned long* ThreeLevelStack::stackArea [protected]

Definition at line 162 of file hwstack.h.

Referenced by PopAddr(), PushAddr(), ThreeLevelStack(), and ~ThreeLevelStack().


The documentation for this class was generated from the following files:
Generated on Sun Feb 12 16:53:18 2012 for Simulavr by  doxygen 1.6.3