diff options
author | 2018-01-23 15:11:19 -0500 | |
---|---|---|
committer | 2018-01-23 15:16:01 -0500 | |
commit | 19d57d9419b85d4dc7426ce7f016814920964307 (patch) | |
tree | db76d8fbd25b880ffdaa6115973ec0c35dda49fe /src/tools/unidasm.cpp | |
parent | 1b17d9882e14c1b00f08049e160224ddf8d098e6 (diff) |
mcs48: More specific emulation of Intel 8021
- Separate disassembler for i802x (including unemulated 8022 instructions)
- Provide separate (though mostly just more limited) 8021 opcode table
- Writes to 8021 P0 no longer go through memory space
Diffstat (limited to 'src/tools/unidasm.cpp')
-rw-r--r-- | src/tools/unidasm.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/tools/unidasm.cpp b/src/tools/unidasm.cpp index 3234a510ff1..7378734b598 100644 --- a/src/tools/unidasm.cpp +++ b/src/tools/unidasm.cpp @@ -337,6 +337,7 @@ static const dasm_table_entry dasm_table[] = { "i4004", le, 0, []() -> util::disasm_interface * { return new i4004_disassembler; } }, { "i4040", le, 0, []() -> util::disasm_interface * { return new i4040_disassembler; } }, { "i8008", le, 0, []() -> util::disasm_interface * { return new i8008_disassembler; } }, + { "i802x", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(false, true); } }, { "i8051", le, 0, []() -> util::disasm_interface * { return new i8051_disassembler; } }, { "i8052", le, 0, []() -> util::disasm_interface * { return new i8052_disassembler; } }, { "i8085", le, 0, []() -> util::disasm_interface * { return new i8085_disassembler; } }, @@ -382,7 +383,7 @@ static const dasm_table_entry dasm_table[] = { "mb86233", le, -2, []() -> util::disasm_interface * { return new mb86233_disassembler; } }, { "mb86235", le, -3, []() -> util::disasm_interface * { return new mb86235_disassembler; } }, { "mb88", le, 0, []() -> util::disasm_interface * { return new mb88_disassembler; } }, - { "mcs48", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(false); } }, + { "mcs48", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(false, false); } }, { "minx", le, 0, []() -> util::disasm_interface * { return new minx_disassembler; } }, { "mips3be", be, 0, []() -> util::disasm_interface * { return new mips3_disassembler; } }, { "mips3le", le, 0, []() -> util::disasm_interface * { return new mips3_disassembler; } }, @@ -459,7 +460,7 @@ static const dasm_table_entry dasm_table[] = { "upd7807", le, 0, []() -> util::disasm_interface * { return new upd7807_disassembler; } }, { "upd7810", le, 0, []() -> util::disasm_interface * { return new upd7810_disassembler; } }, { "upd78c05", le, 0, []() -> util::disasm_interface * { return new upd78c05_disassembler; } }, - { "upi41", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(true); } }, + { "upi41", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(true, false); } }, { "v60", le, 0, []() -> util::disasm_interface * { return new v60_disassembler; } }, { "v810", le, 0, []() -> util::disasm_interface * { return new v810_disassembler; } }, { "x86_16", le, 0, []() -> util::disasm_interface * { i386_unidasm.mode = 16; return new i386_disassembler(&i386_unidasm); } }, |