aboutsummaryrefslogtreecommitdiffstats
path: root/asm/creole.py
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2023-02-11 17:27:29 +0000
committerGravatar Peter McGoron 2023-02-11 17:27:29 +0000
commitb80cb225a4a8c3f826e1a0876b0ada40b87cd8a9 (patch)
tree4eb43a6b28ca44cecb8e8c85f63ca77d6c164a71 /asm/creole.py
parentmore add tests (diff)
add stack overflow and underflow tests
Diffstat (limited to 'asm/creole.py')
-rw-r--r--asm/creole.py18
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