Implement/match InfocenterState::InfocenterState (#515)

* Implement LegoState::Shuffle

* Remove unused params

* Move ctor

* Asm generate hotfix

---------

Co-authored-by: MS <disinvite@users.noreply.github.com>
This commit is contained in:
Christian Semmler
2024-02-01 18:08:56 -05:00
committed by GitHub
parent fce90ed8d8
commit a7acf8c607
9 changed files with 167 additions and 50 deletions

View File

@@ -9,6 +9,7 @@ placeholder string."""
import re
from typing import Callable, List, Optional, Tuple
from collections import namedtuple
from isledecomp.bin import InvalidVirtualAddressError
from capstone import Cs, CS_ARCH_X86, CS_MODE_32
disassembler = Cs(CS_ARCH_X86, CS_MODE_32)
@@ -55,7 +56,11 @@ class ParseAsm:
def float_replace(self, addr: int, data_size: int) -> Optional[str]:
if callable(self.float_lookup):
float_str = self.float_lookup(addr, data_size)
try:
float_str = self.float_lookup(addr, data_size)
except InvalidVirtualAddressError:
# probably caused by reading an invalid instruction
return None
if float_str is not None:
return f"{float_str} (FLOAT)"