diff options
| -rwxr-xr-x | nandgame/assembler/disas.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/nandgame/assembler/disas.py b/nandgame/assembler/disas.py index ea6cfcf..b8f5dba 100755 --- a/nandgame/assembler/disas.py +++ b/nandgame/assembler/disas.py @@ -15,6 +15,8 @@ JUMP_NONE = "" JUMPS_IF_NZERO = ["jgt", "jlt", "jne", "jmp"] JUMPS_IF_ZERO = ["jge", "jle", "jeq", "jmp"] +ENDIANNESS = "little" + def decode_jump(ins: int) -> str: if (ins & 0x7) == 0: return JUMP_NONE @@ -203,8 +205,13 @@ def main(): insb = f.read(2) if not insb: break - ins = int.from_bytes(insb) - raw_ins = f"{insb[0]:02x} {insb[1]:02x}" + ins = int.from_bytes(insb, byteorder=ENDIANNESS) + if ENDIANNESS in ["big", "be"]: + raw_ins = f"{insb[0]:02x} {insb[1]:02x}" + elif ENDIANNESS in ["little", "le"]: + raw_ins = f"{insb[1]:02x} {insb[0]:02x}" + else: + raw_ins = f"?? ??" decoded_ins = print_decoded(ins, False) decoded_ins2 = print_decoded(ins, True) if decoded_ins == decoded_ins2: |
