QtSpim手册-中文翻译

QtSpim手册

QtSpim是一个自包含的模拟器,它将运行MIPS32汇编程序并显示处理器的寄存器和存储器。 QtSpim读取和执行用汇编语言为MIPS计算机编写的程序。QtSpim 不执行二进制(已编译)程序。为了简化编程,QtSpim 提供了一个简单的调试器和一小组操作系统服务。 QtSpim 实现了大部分 MIPS32 汇编程序扩展指令集。(它省略了浮点比较和舍入模式以及内存系统页表。MIPS架构有几种变体,这些变体在各个方面都有所不同(例如,MIPS64架构支持64位整数和地址),这意味着QtSpim不会为所有MIPS处理器运行程序。

QtSpim 入门

当QtSpim启动时,它会打开一个窗口,其中包含如下所示的窗口。(窗口中的功能在 Microsoft Windows 上看起来与在 Linux 或 Mac OSX 上略有不同,但所有菜单和按钮都位于同一位置,并且工作方式相同)。

 

QtSpim的主窗口有三个部分:

  • 左侧的窄窗格可以显示整数或浮点寄存器。通过单击窗格顶部的选项卡来选择寄存器集。

  • 右侧的宽窗格可以显示文本段(包含指令)和数据段。通过单击窗格顶部的选项卡在文本和数据之间进行选择。

  • 底部的小窗格是QtSpim写入其消息的位置。

所有窗格都是可停靠的,这意味着您可以通过窗格的顶部栏抓住窗格并将其拖出QtSpim的主窗口,以放在屏幕的其他部分。 QtSpim 还会打开另一个名为“控制台”的窗口,该窗口显示程序的输出。

加载程序

您的程序应存储在文件中。程序集代码文件通常具有扩展名“.s”,如 file1.s 中所示。要加载文件,请转到【文件】菜单,然后选择【Load File加载文件】。屏幕将随着文件的加载而变化,以显示程序中的说明和数据。 文件人上另一个非常有用的命令是【Reinitialize and Load File重新初始化和加载文件】。它首先清除程序所做的所有更改,包括删除其所有指令,然后重新加载最近的一个文件。此命令在调试程序时效果很好,因为您可以更改程序并在新计算机中快速测试它,而无需关闭和重新启动QtSpim。

运行程序

要在加载程序后启动运行的程序,请转到【Simulator 模拟器】菜单,然后单击【Run/Continue 运行/继续】。程序将一直运行到完成或发生错误。无论哪种方式,您都将看到程序对 MIPS 寄存器和内存所做的更改,并且程序写入的输出将显示在“控制台”窗口中。 如果您的程序无法正常工作,您可以执行以下几项操作。最简单的方法是在指令之间单步执行,这样您就可以一次逐个地查看每个指令所做的更改。此命令也位于【Simulator 模拟器】菜单上,名为【Single Step 单步执行】。

但是,有时您需要运行程序一段时间才能出错,并且单步执行速度太慢。QtSpim 允许您在特定指令处设置断点,从而在指令执行之前停止 QtSpim。因此,如果您认为问题出在程序中的特定函数中,请在函数中的第一条指令处设置一个断点,每次调用该函数时 QtSpim 都会停止。 通过右键单击要停止的指令,然后选择【Set Breakpoint 设置断点】来设置断点,可以设置断点。完成断点操作后,可以通过选择【Clear Breakpoint 清除断点 】来将其删除。

如果要在程序运行时停止程序,请转到【Simulator 模拟器】菜单,然后单击【Pause 暂停】。此命令将停止程序,让您环顾四周,并根据需要继续执行。如果不想继续运行,请单击【Stop 停止】。 当 QtSpim 停止时,无论是由于程序中的错误、断点、单击“暂停”还是单步执行后,您都可以通过单击【Run/Continue 运行/继续】来继续运行程序(也可以通过单击【Single Step 单步执行】继续单步执行)。如果单击【Stop 停止】而不是【Pause 暂停】,则单击【Run/Continue 运行/继续】将从头开始重新启动程序,而不是从停止的位置继续。(这与音乐播放器的操作方式大致相同;您可以暂停和重新启动歌曲,但如果停止音乐,则需要从头开始播放。

显示选项

其他三个菜单 - 【Registers, Text Segment, and Data Segment 寄存器,文本段和数据段】 - 控制QtSpim的显示。例如,【Registers 寄存器】菜单控制 QtSpim 显示寄存器内容的方式,以二进制、以 8 为基数(八进制)、以 10 为基数(十进制)或以 16 为基数(十六进制)。在这些表示形式之间切换以了解数据通常非常方便。 这些菜单还可以让您关闭机器各个部分的显示,这有助于减少屏幕上的混乱,并让您专注于程序中真正重要的部分或数据。

更改寄存器和存储器

您可以通过右键单击寄存器或内存位置并分别选择【Change Register Contents or Change Memory Contents “更改寄存器内容”或“更改内存内容”】来更改寄存器或内存位置的内容。

设置

【Simulator 模拟器】菜单包含“设置”命令,该命令将打开一个对话框,如下所示:

 

该对话框有两个选项卡。第一个,如上所示,改变了QtSpim的视觉方面,例如字体。第二个看起来像这样:

 

它改变了QtSpim的运作方式:

  • 【Bare machine 裸机】使 QtSpim 模拟裸 MIPS 处理器。

  • 【Accept pseudo instructions 接受伪指令】使QtSpim能够接受MIPS实际上并不执行的汇编指令,从而使编程更容易。

  • 【Enable delayed branches启用延迟的分支】会导致QtSpim在传输控制权之前立即在分支指令之后执行指令,并根据下一条指令的地址计算新PC。

  • 【Enable delayed loads启用延迟加载】会导致 QtSpim 在加载指令之后延迟从内存加载的一条指令的值。

  • 【Enable mapped IO 启用映射 IO】 将打开内存映射 IO。

标记为【Simple Machine“简单机器”】的按钮启用了大多数人最常用的选项(【Accept pseudo instructions 接受伪指令】)。标记为【Bare machine 裸机】的按钮打开与实际 MIPS 处理器(裸机、延迟分支、延迟加载)对应的指令。

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道格拉斯范朋克

播种花生牛奶自留田

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值