diff options
| author | 2023-02-11 17:27:29 +0000 | |
|---|---|---|
| committer | 2023-02-11 17:27:29 +0000 | |
| commit | b80cb225a4a8c3f826e1a0876b0ada40b87cd8a9 (patch) | |
| tree | 4eb43a6b28ca44cecb8e8c85f63ca77d6c164a71 /asm/creole.py | |
| parent | more add tests (diff) | |
add stack overflow and underflow tests
Diffstat (limited to 'asm/creole.py')
| -rw-r--r-- | asm/creole.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/asm/creole.py b/asm/creole.py index e48d65f..2e323e4 100644 --- a/asm/creole.py +++ b/asm/creole.py @@ -165,18 +165,18 @@ class Line: self.opcode = opcode self.args = args - def check_line(self, labnum, regnum): + def check_line(self, lablen, reglen): for a in self.args: if a[0] == ArgType.REG: - if a[1] < 0 or a[1] >= regnum: + if a[1] < 0 or a[1] >= reglen: raise RangeCheckException(a[0], a[1], - regnum) + reglen) elif a[0] == ArgType.LAB: - if a[1] < 0 or a[1] >= labnum: + if a[1] < 0 or a[1] >= lablen: raise RangeCheckException(a[0], a[1], - regnum) + reglen) def __call__(self): b = bytes([self.opcode]) @@ -193,7 +193,7 @@ class InstructionNotFoundException(Exception): class Program: def asm_push_line(self, ins, args): l = Line(ins, args) - l.check_line(self.labnum, self.regnum) + l.check_line(self.lablen, self.reglen) self.asm.append(l) def parse_asm_line(self, line): @@ -214,8 +214,8 @@ class Program: b = b + line() return b - def __init__(self, labnum=16, regnum=16): + def __init__(self, lablen=16, reglen=16): self.asm = [] - self.labnum = labnum - self.regnum = regnum + self.lablen = lablen + self.reglen = reglen |
