Hey Guys,
I just wanted to share with you a project in order to get some constructive feedback.
MDX is an Assembly Simulator for 8-bit AVRs. It has an integrated Disassembler, which reconstructs labels and comments in order to increase readability.
What's different ?
- Backstepping is supported
- Headless Mode
- Redefine constants or even mnemonics on Source level
- Open up to 4 files and switch fast between them
Currently there are 3 different modes:
(i) Interactive Simulation
MDX accepts Hex Files as input, then decodes them into readable Assembly Source Code. Now you may step through your Code.
(ii) Headless Mode
MDX accepts a single hex file as input. This file will be silently simulated and the end state of the MCU will be printed out directly in form of a JSON File. This may be interesting for fuzzing and testing.
(iii) Disassembler
MDX will disassemble Hex Files, while reconstructing Labels, new lines and comments. The output will be printed out directly.
In the future:
- I will be working on an interactive Graph to show off relations between code segments.
- Watchpoints, Step in/out, etc.
- Adding more MCUs with different architecture
- many more...
Reason of this post:
MDX is still in development, although it is possible to simulate more complex algorithms like a recursive DFS in a Graph, some instructions are still missing (over 60 instructions are supported).
And now I am asking for some feedback. What's wrong/good, what should be added/removed, etc.
I would be happy to hear your opinion
Written in: C++
OS: Linux/Unix
Github: https://github.com/Milo-D/MDX-Assembly-Debugger/
I just wanted to share with you a project in order to get some constructive feedback.
MDX is an Assembly Simulator for 8-bit AVRs. It has an integrated Disassembler, which reconstructs labels and comments in order to increase readability.
What's different ?
- Backstepping is supported
- Headless Mode
- Redefine constants or even mnemonics on Source level
- Open up to 4 files and switch fast between them
Currently there are 3 different modes:
(i) Interactive Simulation
MDX accepts Hex Files as input, then decodes them into readable Assembly Source Code. Now you may step through your Code.
(ii) Headless Mode
MDX accepts a single hex file as input. This file will be silently simulated and the end state of the MCU will be printed out directly in form of a JSON File. This may be interesting for fuzzing and testing.
(iii) Disassembler
MDX will disassemble Hex Files, while reconstructing Labels, new lines and comments. The output will be printed out directly.
In the future:
- I will be working on an interactive Graph to show off relations between code segments.
- Watchpoints, Step in/out, etc.
- Adding more MCUs with different architecture
- many more...
Reason of this post:
MDX is still in development, although it is possible to simulate more complex algorithms like a recursive DFS in a Graph, some instructions are still missing (over 60 instructions are supported).
And now I am asking for some feedback. What's wrong/good, what should be added/removed, etc.
I would be happy to hear your opinion
Written in: C++
OS: Linux/Unix
Github: https://github.com/Milo-D/MDX-Assembly-Debugger/