我想学习如何在Assembler中编程.我之前(在我的A-Level计算课程期间)我做了一些装配,但这绝对是一个简化的'伪装配'.我借用了我爸爸的旧Z80汇编程序参考手册,这看起来很有趣,所以如果可能的话我想和Z80汇编程序一起去.
但是,我没有手持Z80处理器,并且想在我的电脑上做这件事(我有windows或linux,所以要么好).我在互联网上找到了各种各样的汇编程序,但我对组装到hex文件并不是特别感兴趣,我希望能够将它组装到PC上的某种模拟器可以运行的东西上.优选地,该模拟器将向我显示所有寄存器,存储器位置等的内容,并让我逐步执行指令.我发现了一些软件,暗示他们可能会这样做 - 但他们要么拒绝编译,要么似乎没有正常工作.有没有人有任何建议?如果有一个好的模拟器/ IDE可用于其他类型的汇编程序,那么我可以尝试相反(假设有一个很好的在线参考手册可用).
我发现了一些软件,暗示他们可能会这样做 - 但他们要么拒绝编译,要么似乎没有正常工作.有没有人有任何建议?
写一个.你最好选择一个漂亮,简单的指令集(Z80应该是完美的).我记得这是第一年的本科生练习 - 我想我们用C++编写模拟器并模拟6800程序集,但实际上任何语言/指令集都可以.
现在"学习汇编语言"的想法是了解计算机如何在最低级别工作,只有少数几个(编译器编写者等)有任何真正的理由来实际编写汇编代码.现代处理器充满了各种功能,旨在供编译器使用以帮助优化代码以实现速度/并发执行/功耗等,并且试图为现代处理器手动编写汇编将是一场噩梦.
除非您愿意,否则不要担心让您的应用程序生产就绪 - 很可能您到目前为止找到的软件很可能是由那些想要了解装配如何工作并编写自己的模拟器的人编写的,然后意识到要让它"生产就绪"将涉及多少工作,以便普通大众可以使用它.
您可能想查看开源8085模拟器" GnuSim8085 ",它专门用于教育目的,实际上它是由学生在准备考试时编写的.它可以在Linux和Windows上运行.
MipSim是免费的
http://www.mipsim.com
MIPSim的主要特点2
内置代码编辑器,具有语法高亮和折叠等功能
以不同的表示形式显示寄存器和存储器值(有符号整数,无符号整数,十六进制和ASCII)
设置存储单元的块大小(全字,半字,字节),以便于检查存储器值
即使在仿真和调试期间,也只需单击即可更改寄存器和存储单元的值
实时用户界面更新允许您查看寄存器和存储器单元的值在执行期间如何变化
内置调试器,具有逐步指令执行,指令跳过和断点功能
用于将ASCII,UNICODE字符串和整数值插入内存以测试代码的工具
用于检查重复或缺失标签和指令参数的工具
保存计算机状态(所有寄存器和存储单元的值),以便下次运行模拟器时可以从您离开的位置继续!
设置模拟速度 - 低速可以很好地跟踪代码并查看其行为
编码指令 - 以二进制或十六进制表示形式生成机器代码
捕获汇编时间和运行时错误
使用描述性错误消息更容易调试
多线程设计 - 即使执行的汇编代码错误或包含无限循环,MIPSim也不会卡住(希望如此;)
MIPSim API - 制作您自己的程序,可以读取和写入MIPSim的寄存器和内存,为强大的测试提供了极大的灵活性!
如果你在Windows 8085模拟器是最好的选择.
它的用户界面优于任何其他模拟器.此模拟器也提供了内存映射的实时视图(也在执行时).
但是这个不支持Windows 98或更低版本需要检查其他模拟器,如"GnuSim8085".