aboutsummaryrefslogtreecommitdiffstats
path: root/atk16_asm/asm_ops.py
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2024-04-12 14:57:45 +0300
committerJan Tuomi <jan@jantuomi.fi>2024-04-12 14:57:45 +0300
commit4f78086920cd4e2cee6d970decaee7025875f2a9 (patch)
tree1ef780401e5e26c20649c90e8713c02fc0fe90d6 /atk16_asm/asm_ops.py
parent0603e19435b4304fabd91f840325a153ce31cae2 (diff)
Implement signed multiplication
Diffstat (limited to 'atk16_asm/asm_ops.py')
-rw-r--r--atk16_asm/asm_ops.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/atk16_asm/asm_ops.py b/atk16_asm/asm_ops.py
index 6d2b98a..96e0366 100644
--- a/atk16_asm/asm_ops.py
+++ b/atk16_asm/asm_ops.py
@@ -156,11 +156,12 @@ def expand_addi(left: str, imm: str, target: str) -> ExpandResult:
def expand_subi(left: str, imm: str, target: str) -> ExpandResult:
return [["ali", "al_minus", left, imm, target]]
-def expand_not(reg: str, target: str) -> ExpandResult:
- return [["alr", "al_xor", reg, "0xFFFF", target]]
+# FIXME: 0xFFFF does not fit in 3 bits
+# def expand_not(reg: str, target: str) -> ExpandResult:
+# return [["alr", "al_xor", reg, "0xFFFF", target]]
-def expand_noti(imm: str, target: str) -> ExpandResult:
- return [["ali", "al_xor", imm, "0xFFFF", target]]
+# def expand_noti(imm: str, target: str) -> ExpandResult:
+# return [["ali", "al_xor", imm, "0xFFFF", target]]
def expand_and(left: str, right: str, target: str) -> ExpandResult:
return [["alr", "al_and", left, right, target]]
@@ -293,8 +294,8 @@ expansions: OpExpansionDict = {
"sub": expand_sub,
"addi": expand_addi,
"subi": expand_subi,
- "not": expand_not,
- "noti": expand_noti,
+ # "not": expand_not,
+ # "noti": expand_noti,
"and": expand_and,
"andi": expand_andi,
"or": expand_or,