fix: убрал упоминания AFTER_BRANCH из конструкций ветвления
This commit is contained in:
@ -267,14 +267,12 @@ class VM:
|
|||||||
c = Condition(cond)
|
c = Condition(cond)
|
||||||
vm_c = Condition(self.cc)
|
vm_c = Condition(self.cc)
|
||||||
if (c.v & vm_c.v) & (c.n & vm_c.n) & (c.z & vm_c.z) == c.i:
|
if (c.v & vm_c.v) & (c.n & vm_c.n) & (c.z & vm_c.z) == c.i:
|
||||||
self._vm_flags |= VMFlags.AFTER_BRANCH
|
|
||||||
self.pc = c_uint32(self.pc.value + disp)
|
self.pc = c_uint32(self.pc.value + disp)
|
||||||
|
|
||||||
def _branch_indexed_callback(self, cond: int, r1: int, disp: int) -> None:
|
def _branch_indexed_callback(self, cond: int, r1: int, disp: int) -> None:
|
||||||
c = Condition(cond)
|
c = Condition(cond)
|
||||||
vm_c = Condition(self.cc.value)
|
vm_c = Condition(self.cc.value)
|
||||||
if (c.v & vm_c.v) & (c.n & vm_c.n) & (c.z & vm_c.z) == c.i:
|
if (c.v & vm_c.v) & (c.n & vm_c.n) & (c.z & vm_c.z) == c.i:
|
||||||
self._vm_flags |= VMFlags.AFTER_BRANCH
|
|
||||||
addr = self.registers[r1].value + disp
|
addr = self.registers[r1].value + disp
|
||||||
self.pc = c_uint32(addr)
|
self.pc = c_uint32(addr)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user