from Utils import*class Stack():
"""
The stack is a 32bit word stack, the stack is organized as
32bit addressable values.
0000: xxxx_xxxx
0001: xxxx_xxxx
"""def__init__(self, size=4096):
self.size = size / 4# Size in bytes, stack org'd in 32bit valuesself.mem = []# @todo deprecate pushInt, popIntdef pushInt(self, i):
self.push32(i)def popInt(self):
returnself.pop32()def push32(self, i):
self.mem.append(i)def pop32(self):
returnself.mem.pop()def readLong(self, addr):
# if addr > len(self.mem) throw exceptionreturnself.mem[addr]def__str__(self):
s = 'Stack Size......... %d\n'%(self.size)
s = s + 'Stack Used..........%d\n\n'%(len(self.mem))
s = s + 'Stack Dump:\n'
s = s + DumpMem32(self.mem)return s
users/cfelton/projects/iss_stack.txt · Last modified: 2010/01/13 22:01 by cfelton