出于学习目的,我打算开始构建一个 8051 微控制器仿真器。我很擅长用 C/C++/C# 编程。这不是课堂项目等,而是我这边的学习计划。
我确实发现了很多讨论这个问题的问题。但是,我想更细化地打破它,以便在我真正开始编写代码之前知道我需要关注哪些领域。
我最初的要求是:
文本编辑器(可以使用编辑框控件),用户可以在其中编写汇编代码
验证语法是否正确
有一个小窗口,在运行时显示寄存器值。
当用户启动程序时,说明应逐步更新注册窗口。
除了 GUI 元素,我更想知道如何模拟微控制器。
我理解的方式可以进一步分解:
我需要查找表以获取指令或其他方式来存储可用指令并验证语法。任何指示如何实现这一点,请告诉我。
如何模拟 8051 的每条指令?
对于寄存器,我可以根据类型使用无符号整数并更新表。
由于微控制器的 RAM 内存有限,我如何检查代码长度或更确切地说是在内存中执行的代码,以避免和缓冲区溢出或其他问题。
如果有一些开源项目详细说明了如何构建模拟器,将不胜感激。