fix: всем математические операции помечены как не имеющие доп поля

This commit is contained in:
ElectronixTM
2025-03-29 22:22:47 +03:00
parent 3c4e8f258a
commit 430db1c2ac
2 changed files with 8 additions and 8 deletions

View File

@ -43,13 +43,13 @@ OpD = OpcodeDescription
OPCODES = {
# block 1
0x00: OpD(OpF(0), OpL.MATH, OpA.ADD),
0x00: OpD(OpF.UNEXPANDED, OpL.MATH, OpA.ADD),
0x10: OpD(OpF.QUICK, OpL.MATH, OpA.ADD),
0x01: OpD(OpF(0), OpL.MATH, OpA.SUB),
0x01: OpD(OpF.UNEXPANDED, OpL.MATH, OpA.SUB),
0x11: OpD(OpF.QUICK, OpL.MATH, OpA.SUB),
0x02: OpD(OpF(0), OpL.MATH, OpA.MUL),
0x02: OpD(OpF.UNEXPANDED, OpL.MATH, OpA.MUL),
0x12: OpD(OpF.QUICK, OpL.MATH, OpA.MUL),
0x03: OpD(OpF(0), OpL.MATH, OpA.DIV),
0x03: OpD(OpF.UNEXPANDED, OpL.MATH, OpA.DIV),
0x13: OpD(OpF.QUICK, OpL.MATH, OpA.DIV),
0x04: OpD(OpF.UNEXPANDED, OpL.MATH, OpA.AND),
0x05: OpD(OpF.UNEXPANDED, OpL.MATH, OpA.OR),

View File

@ -57,25 +57,25 @@ class VM:
def __init_callbacks__(self):
VM.instr_callbacks = {
# ariphmetic
OpD(OpF(0), OpL.MATH, OpA.ADD):
OpD(OpF.UNEXPANDED, OpL.MATH, OpA.ADD):
self._math_callback_gen(lambda lhs, rhs: lhs + rhs),
OpD(OpF.QUICK, OpL.MATH, OpA.ADD):
self._math_quick_callback_gen(lambda lhs, rhs: lhs + rhs),
OpD(OpF(0), OpL.MATH, OpA.SUB):
OpD(OpF.UNEXPANDED, OpL.MATH, OpA.SUB):
self._math_callback_gen(lambda lhs, rhs: lhs - rhs),
OpD(OpF.QUICK, OpL.MATH, OpA.SUB):
self._math_quick_callback_gen(lambda lhs, rhs: lhs - rhs),
OpD(OpF(0), OpL.MATH, OpA.MUL):
OpD(OpF.UNEXPANDED, OpL.MATH, OpA.MUL):
self._math_callback_gen(lambda lhs, rhs: lhs * rhs),
OpD(OpF.QUICK, OpL.MATH, OpA.MUL):
self._math_quick_callback_gen(lambda lhs, rhs: lhs * rhs),
OpD(OpF(0), OpL.MATH, OpA.DIV):
OpD(OpF.UNEXPANDED, OpL.MATH, OpA.DIV):
self._math_callback_gen(lambda lhs, rhs: lhs // rhs),
OpD(OpF.QUICK, OpL.MATH, OpA.DIV):