-
-
Save markjenkins/67111ff903720c74e37062e05ed8384b to your computer and use it in GitHub Desktop.
A disassembly of roms/M0-compact using disasm.py (8fd7ebfdf1bc54dd221b780247596c1cdb4efbb0) which can be assembled back to the original binary
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
LOADUI R14 0x0800 | |
LOADUI R15 0x06A0 | |
LOADUI R0 0x1100 | |
FOPEN_READ | |
LOADUI R0 0x1101 | |
FOPEN_WRITE | |
READSCID R0 | |
ANDI R1 R0 0x000F | |
LOADUI R0 0x0001 | |
SL0 R0 R0 R1 | |
STORER16 R0 0x0656 | |
ADDU R1 R0 R0 | |
STORER16 R1 0x064E | |
ADDU R0 R1 R0 | |
STORER16 R0 0x0646 | |
COPY R12 R14 | |
CALLI R15 0x01F4 | |
LOADUI R0 0x1100 | |
REWIND | |
FALSE R0 | |
CALLI R15 0x0378 | |
LOADUI R0 0x1100 | |
FCLOSE | |
LOADUI R0 0x1101 | |
FCLOSE | |
HALT | |
PUSHR R1 R15 | |
PUSHR R2 R15 | |
PUSHR R3 R15 | |
PUSHR R4 R15 | |
MOVE R2 R0 | |
MOVE R3 R1 | |
LOADUI R4 0x0000 | |
LOADXU8 R0 R2 R4 | |
LOADXU8 R1 R3 R4 | |
ADDUI R4 R4 0x0001 | |
CMPSKIP.NE R1 R0 | |
JUMP.NZ R1 0xFFE8 | |
FALSE R2 | |
CMPSKIP.NE R0 R1 | |
TRUE R2 | |
MOVE R0 R2 | |
POPR R4 R15 | |
POPR R3 R15 | |
POPR R2 R15 | |
POPR R1 R15 | |
RET R15 | |
PUSHR R1 R15 | |
PUSHR R2 R15 | |
LOADU8 R2 R1 0x0000 | |
JUMP.Z R2 0x0012 | |
CMPJUMPI.E R0 R2 0x0010 | |
ADDUI R1 R1 0x0001 | |
JUMP.NZ R2 0xFFE2 | |
FALSE R1 | |
CMPSKIPI.E R1 0x0000 | |
TRUE R2 | |
MOVE R0 R2 | |
POPR R2 R15 | |
POPR R1 R15 | |
RET R15 | |
PUSHR R2 R15 | |
MOVE R2 R0 | |
LOAD8 R0 R2 0x0000 | |
JUMP.Z R0 0x000E | |
FPUTC | |
ADDUI R2 R2 0x0001 | |
JUMP 0xFFE6 | |
POPR R2 R15 | |
RET R15 | |
PUSHR R1 R15 | |
PUSHR R2 R15 | |
PUSHR R3 R15 | |
PUSHR R4 R15 | |
MOVE R1 R0 | |
FALSE R2 | |
FALSE R3 | |
LOAD8 R0 R1 0x0001 | |
CMPSKIPI.NE R0 0x0078 | |
JUMP 0x005E | |
LOADUI R4 0x000A | |
LOAD8 R0 R1 0x0000 | |
CMPSKIPI.NE R0 0x002D | |
TRUE R2 | |
CMPSKIPI.E R2 0x0000 | |
ADDUI R1 R1 0x0001 | |
LOAD8 R0 R1 0x0000 | |
CMPSKIPI.NE R0 0x0000 | |
JUMP 0x0080 | |
MUL R3 R3 R4 | |
SUBI R0 R0 0x0030 | |
CMPSKIPI.GE R0 0x0000 | |
JUMP 0x006C | |
CMPSKIPI.L R0 0x000A | |
JUMP 0x0062 | |
ADDU R3 R3 R0 | |
ADDUI R1 R1 0x0001 | |
JUMP 0xFFC4 | |
LOAD8 R0 R1 0x0000 | |
CMPSKIPI.E R0 0x0030 | |
JUMP 0x0044 | |
ADDUI R1 R1 0x0002 | |
LOAD8 R0 R1 0x0000 | |
JUMP.Z R0 0x0032 | |
SL0I R3 0x0004 | |
SUBI R0 R0 0x0030 | |
CMPSKIPI.L R0 0x000A | |
SUBI R0 R0 0x0007 | |
CMPSKIPI.L R0 0x0010 | |
SUBI R0 R0 0x0020 | |
ADDU R3 R3 R0 | |
ADDUI R1 R1 0x0001 | |
JUMP 0xFFC2 | |
CMPSKIPI.E R2 0x0000 | |
NEG R3 R3 | |
MOVE R0 R3 | |
POPR R4 R15 | |
POPR R3 R15 | |
POPR R2 R15 | |
POPR R1 R15 | |
RET R15 | |
PUSHR R0 R15 | |
PUSHR R1 R15 | |
PUSHR R2 R15 | |
CALLI R15 0x00A2 | |
PUSHR R0 R15 | |
COPY R0 R12 | |
LOADUI R1 0x0698 | |
CALLI R15 0xFE12 | |
JUMP.NZ R0 0x0014 | |
CALLI R15 0x014C | |
POPR R0 R15 | |
JUMP.NP R0 0x0068 | |
JUMP 0xFFCC | |
POPR R0 R15 | |
CALLI R15 0x0134 | |
LOADR16 R0 0x03F8 | |
ADDU R14 R14 R0 | |
STORE R13 R12 0x0000 | |
COPY R13 R12 | |
COPY R12 R14 | |
CALLI R15 0x004C | |
LOADR16 R0 0x03D6 | |
STOREX R12 R13 R0 | |
ADDUI R14 R14 0x0001 | |
COPY R12 R14 | |
CALLI R15 0x0032 | |
PUSHR R0 R15 | |
LOADR16 R0 0x03BA | |
STOREX R12 R13 R0 | |
ADDUI R14 R14 0x0001 | |
COPY R12 R14 | |
POPR R0 R15 | |
JUMP.P R0 0xFF68 | |
POPR R2 R15 | |
POPR R1 R15 | |
POPR R0 R15 | |
RET R15 | |
PUSHR R1 R15 | |
PUSHR R2 R15 | |
LOADUI R1 0x1100 | |
FGETC | |
JUMP.NP R0 0x009E | |
CMPSKIPI.NE R0 0x000A | |
JUMP 0x0094 | |
CMPSKIPI.NE R0 0x0009 | |
JUMP 0x008A | |
CMPSKIPI.NE R0 0x0020 | |
JUMP 0x0080 | |
COPY R2 R0 | |
LOADUI R1 0x03C2 | |
CALLI R15 0xFD98 | |
LOADUI R1 0x1100 | |
JUMP.NZ R0 0x0044 | |
COPY R0 R2 | |
CMPSKIPI.NE R0 0x0022 | |
JUMP 0x0048 | |
CMPSKIPI.NE R0 0x0027 | |
JUMP 0x003E | |
PUSH8 R2 R14 | |
LOADUI R1 0x1100 | |
FGETC | |
COPY R2 R0 | |
LOADUI R1 0x03C6 | |
CALLI R15 0xFD56 | |
JUMP.Z R0 0xFFDC | |
MOVE R0 R2 | |
JUMP 0x0020 | |
FGETC | |
CMPSKIPI.NE R0 0x000A | |
JUMP 0x0012 | |
JUMP 0xFFEE | |
PUSH8 R0 R14 | |
FGETC | |
CMPJUMPI.NE R0 R2 0xFFF2 | |
POPR R2 R15 | |
POPR R1 R15 | |
RET R15 | |
'233B' | |
'00002009' | |
'0A00' | |
PUSHR R0 R15 | |
CMPJUMPI.E R12 R14 0x0008 | |
POP8 R0 R14 | |
JUMP 0xFFF2 | |
POPR R0 R15 | |
RET R15 | |
JUMP.NP R0 0x016C | |
CALLI R15 0xFFDA | |
CALLI R15 0xFF0A | |
CMPJUMPI.E R12 R14 0xFFE8 | |
COPY R2 R0 | |
LOAD8 R0 R12 0x0000 | |
LOADUI R1 0x055A | |
CALLI R15 0xFCCC | |
JUMP.Z R0 0x0022 | |
COPY R0 R12 | |
LOADUI R1 0x1101 | |
CALLI R15 0xFCFA | |
LOADUI R0 0x000A | |
FPUTC | |
MOVE R0 R2 | |
JUMP 0xFFAA | |
COPY R0 R12 | |
LOADUI R1 0x0698 | |
CALLI R15 0xFC3A | |
JUMP.Z R0 0x001C | |
CALLI R15 0xFF74 | |
CALLI R15 0xFEA4 | |
CALLI R15 0xFF68 | |
CALLI R15 0xFE98 | |
JUMP 0xFF78 | |
LOAD8 R0 R12 0x0000 | |
CMPSKIPI.E R0 0x0022 | |
JUMP 0x001E | |
LOADUI R1 0x1101 | |
CALLI R15 0x010E | |
LOADUI R0 0x000A | |
FPUTC | |
MOVE R0 R2 | |
JUMP 0xFF4A | |
CMPSKIPI.E R0 0x0027 | |
JUMP 0x0024 | |
ADDUI R0 R12 0x0001 | |
LOADUI R1 0x1101 | |
CALLI R15 0xFC6C | |
LOADUI R0 0x000A | |
FPUTC | |
MOVE R0 R2 | |
JUMP 0xFF1C | |
CALLI R15 0x0172 | |
JUMP.Z R0 0x001E | |
LOADUI R1 0x1101 | |
CALLI R15 0xFC42 | |
LOADUI R0 0x000A | |
FPUTC | |
MOVE R0 R2 | |
JUMP 0xFEF2 | |
COPY R0 R12 | |
LOAD8 R1 R12 0x0000 | |
CALLI R15 0xFC4A | |
CMPSKIPI.E R1 0x0030 | |
JUMP.Z R0 0x001E | |
LOADUI R1 0x1101 | |
CALLI R15 0x00DE | |
LOADUI R0 0x000A | |
FPUTC | |
MOVE R0 R2 | |
JUMP 0xFEB8 | |
FALSE R1 | |
LOADUI R0 0x0562 | |
CALLI R15 0xFBE6 | |
MOVE R0 R12 | |
CALLI R15 0xFBDC | |
LOADUI R0 0x0576 | |
CALLI R15 0xFBD0 | |
HALT | |
RET R15 | |
'3A21' | |
'40242526' | |
'00000A55' | |
'6E6B6E6F' | |
'776E206F' | |
'74686572' | |
'3A20' | |
NOP | |
'0A41' | |
'626F7274' | |
'696E6720' | |
'746F2070' | |
'72657665' | |
'6E742070' | |
'726F626C' | |
'656D730A' | |
'0000' | |
PUSHR R2 R15 | |
PUSHR R3 R15 | |
PUSHR R12 R15 | |
ADDUI R12 R12 0x0001 | |
FALSE R3 | |
LOADXU16 R0 R12 R3 | |
ANDI R2 R0 0x00FF | |
CALLI R15 0x003C | |
ADDUI R3 R3 0x0002 | |
JUMP.NZ R2 0xFFE4 | |
FALSE R0 | |
ANDI R3 R3 0x0003 | |
JUMP.Z R3 0x0010 | |
CALLI R15 0x002E | |
ADDUI R3 R3 0x0001 | |
JUMP 0xFFE0 | |
POPR R12 R15 | |
POPR R3 R15 | |
POPR R2 R15 | |
RET R15 | |
PUSHR R0 R15 | |
SR0I R0 0x0008 | |
CALLI R15 0x0004 | |
POPR R0 R15 | |
PUSHR R0 R15 | |
SR0I R0 0x0004 | |
CALLI R15 0x0004 | |
POPR R0 R15 | |
ANDI R0 R0 0x000F | |
ADDUI R0 R0 0x0030 | |
CMPSKIPI.LE R0 0x0039 | |
ADDUI R0 R0 0x0007 | |
FPUTC | |
RET R15 | |
PUSHR R1 R15 | |
PUSHR R2 R15 | |
COPY R2 R13 | |
JUMP.Z R2 0x002E | |
LOADR16 R1 0x0038 | |
LOADX R0 R2 R1 | |
COPY R1 R12 | |
CALLI R15 0xFA1E | |
JUMP.NZ R0 0x000A | |
LOAD R2 R2 0x0000 | |
JUMP 0xFFD6 | |
LOADR16 R1 0x0016 | |
LOADX R2 R2 R1 | |
MOVE R0 R2 | |
POPR R2 R15 | |
POPR R1 R15 | |
RET R15 | |
'00' | |
ADD.CI R0 R2 R0 R0 | |
'030000' | |
'44454649' | |
'4E450000' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment