From 20416d5ae946d4defbfea66c53e58761cf885b73 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Thu, 1 Dec 2011 18:28:36 +0000 Subject: WIP for func parameter support and local (automatic) variables --- Registers.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Registers.py') diff --git a/Registers.py b/Registers.py index 2a070d4..1d080f1 100644 --- a/Registers.py +++ b/Registers.py @@ -31,6 +31,9 @@ class Registers(object): self.registers = {} for reg in range(0, 8): self.registers[str(reg)] = False + # the "Base Pointer", local variables are relative to this address. The + # value of this register points to a location in the stack + self.BP = "R5" def alloc(self, register=None): """Retrieves a register which is marked unused, marks it as in use and return it""" @@ -42,7 +45,7 @@ class Registers(object): if self.registers[register]: raise RuntimeError("Register 'R{}' is already in use".format(register)) else: - for register in range(0, 6): + for register in range(0, 5): register = str(register) # find a free register if not self.registers[register]: -- cgit v1.2.1