fix: исправлено использование адресации в step

This commit is contained in:
ElectronixTM
2025-03-29 21:33:16 +03:00
parent 304a28c1b2
commit 33b56fec71

View File

@ -108,16 +108,17 @@ class VM:
"""
Make one step (only step into)
"""
# По какой-то причине адрессация работает
# так, будто мы на 1 слово впереди опкода
if not VMFlags.AFTER_BRANCH:
self.pc = c_uint32(self.cc.value + 1)
# сбрасываем флаг AFTER_BRANCH
self._vm_flags &= ~(VMFlags.AFTER_BRANCH)
opcode = self.mem[self.pc.value]
opcode = self.mem[self.pc.value * 4]
opdesc = self._fetch_opcode_desc(opcode)
args = self._parse_arguments(opdesc)
# По какой-то причине адрессация работает
# так, будто мы на 1 слово впереди опкода
self.pc = c_uint32(self.pc.value + 1)
# сбрасываем флаг AFTER_BRANCH
self._vm_flags &= ~(VMFlags.AFTER_BRANCH)
self._run_callback(opdesc, args)
if VMFlags.EXPANDED_INSTR in self._vm_flags:
self.pc = c_uint32(self.pc.value + 1)
def continue_(self) -> None:
"""