当前位置:网站首页>QtSpim手册-中文翻译
QtSpim手册-中文翻译
2022-04-23 03:53:00 【道格拉斯范朋克】
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 处理器(裸机、延迟分支、延迟加载)对应的指令。
版权声明
本文为[道格拉斯范朋克]所创,转载请带上原文链接,感谢
https://blog.csdn.net/xinqingwuji/article/details/124348717
边栏推荐
- Solve the technical problems in seq2seq + attention machine translation
- Mysql出现2013 Lost connection to MySQL server during query
- VS Studio 修改C语言scanf等报错
- Using VBA interval to extract one column from another in Excel
- Zotero6. Version 0 quicklook cannot be used / Chinese garbled code will not be displayed
- PolarMask is not in the models registry
- Design and implementation of redis (2): how to handle expired keys
- Vscode delete uninstall residue
- 将编译安装的mysql加入PATH环境变量
- Definition, understanding and calculation of significant figures in numerical analysis
猜你喜欢

Xshell、Xftp连接新创建的Unbutu系统虚拟机全流程
![[AI vision · quick review of NLP natural language processing papers today, issue 29] Mon, 14 Feb 2022](/img/34/1db76ac50888196515927fe51b2738.png)
[AI vision · quick review of NLP natural language processing papers today, issue 29] Mon, 14 Feb 2022

Add the compiled and installed Mysql to the path environment variable

Design and implementation of redis (2): how to handle expired keys

Install PaddlePaddle on ARM

常用的辅助类
![[AI vision · quick review of robot papers today, issue 30] Thu, 14 APR 2022](/img/93/55ee30b99c7683edc612a09e30dfed.png)
[AI vision · quick review of robot papers today, issue 30] Thu, 14 APR 2022

What if win10 doesn't have a local group policy?

Hard core chip removal

创下国产手机在海外市场销量最高纪录的小米,重新关注国内市场
随机推荐
Let matlab2018b support the mex configuration of vs2019
创下国产手机在海外市场销量最高纪录的小米,重新关注国内市场
Vs Studio modifie le langage C scanf et d'autres erreurs
Use the thread factory to set the thread name in the thread pool
ROS series (IV): ROS communication mechanism series (1): topic communication
Three column layout (fixed width on both sides in the middle and fixed width on both sides in the middle)
[AI vision · quick review of NLP natural language processing papers today, issue 28] wed, 1 Dec 2021
Xiaomi, which has set the highest sales record of domestic mobile phones in overseas markets, paid renewed attention to the domestic market
[AI vision · quick review of NLP natural language processing papers today, issue 30] Thu, 14 APR 2022
Man's life
Opencv4 QR code recognition test
The whole process of connecting the newly created unbutu system virtual machine with xshell and xftp
[AI vision · quick review of robot papers today, issue 29] Mon, 14 Feb 2022
ROS series (IV): ROS communication mechanism series (2): Service Communication
The art of concurrent programming (6): explain the principle of reentrantlock in detail
Operating skills of spot gold_ Wave estimation curve
[AI vision · quick review of today's sound acoustic papers issue 1] Thu, 14 APR 2022
(valid for personal testing) compilation guide of paddedetection on Jetson
标识符、关键字、数据类型
Download and configuration of idea