Skip to content

Commit 6917fd8

Browse files
Merge pull request #2555 from parsajavanshir/patch-1
Fix assembler.py
2 parents e5945cb + 5f016ad commit 6917fd8

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

Diff for: Assembler/assembler.py

+12-3
Original file line numberDiff line numberDiff line change
@@ -996,10 +996,13 @@ def parser():
996996
if token.token in variables:
997997
token.token = variables[token.token]
998998
else:
999-
print("Error: undefine variable! --> " + token.token)
999+
print(f"Error: Undefined variable {token.token}")
10001000
return
1001+
10011002
elif token.t == "string":
1002-
pass
1003+
1004+
token.token = str(token.token)
1005+
10031006
elif isinstance(token.token, float):
10041007
pass
10051008
elif token.token.isdigit():
@@ -1161,7 +1164,7 @@ def parser():
11611164
zeroFlag = False
11621165
elif tmpToken.token == "ebx":
11631166
ebx -= token.token
1164-
1167+
11651168
# update zero flag
11661169
if ebx == 0:
11671170
zeroFlag = True
@@ -1249,6 +1252,9 @@ def parser():
12491252
# pop register from stack
12501253
match token.token:
12511254
case "eax":
1255+
if len(stack) == 0:
1256+
print("Error: Stack Underflow")
1257+
return
12521258
eax = stack.pop()
12531259
case "ebx":
12541260
ebx = stack.pop()
@@ -1454,6 +1460,9 @@ def parser():
14541460
eax /= eax
14551461

14561462
case "ebx":
1463+
if ebx == 0:
1464+
print("Error: Division by Zero")
1465+
return
14571466
eax /= ebx
14581467

14591468
case "ecx":

0 commit comments

Comments
 (0)