![微型计算机系统原理及应用:国产龙芯处理器的软件和硬件集成(实训篇)](https://wfqqreader-1252317822.image.myqcloud.com/cover/856/47379856/b_47379856.jpg)
1.3.5 汇编语言编译和调试
本节将介绍如何对前面所设计的汇编语言代码进行编译,并在龙芯1B硬件开发平台上进行调试和验证。具体实现步骤如下所示。
(1)编译程序代码,给龙芯1B硬件开发平台上电。
(2)如图1.36所示,在代码清单1-6中设置第一个断点。
![](https://epubservercos.yuewen.com/18E949/26764082801595206/epubprivate/OEBPS/Images/44102_32_2.jpg?sign=1739073414-rvUEndGcL698eV6Q7n7pWfCvZNA6ZMCF-0-d9adbec33492171b00c93032b1e58db3)
图1.36 在代码清单1-6中设置第一个断点
(3)如图1.37所示,在代码清单1-6中设置第二个断点。
![](https://epubservercos.yuewen.com/18E949/26764082801595206/epubprivate/OEBPS/Images/44102_32_3.jpg?sign=1739073414-v6h7i3tQArilEWs90e5UpcXUZ2XYYM8g-0-37d403b214c2a2d35a174591f81382eb)
图1.37 在代码清单1-6中设置第二个断点
(4)在LoongIDE主界面主菜单下,选择Debug->Run,程序停在第一个断点处。
(5)单击“CPU Registers”标签,在“CPU Registers”标签页中找到寄存器名字为“s0”的一行,并用鼠标左键双击该行,弹出“View Memory”对话框,如图1.38所示。从图1.38中可以看出,用于存放数据段中名字“arr”的存储空间的首地址为0x80212530,同时也可看到从该地址开始的8个要排序的数据,即0x0003、0x0008、0x0001、0x0005、0x0002、0x0004、0x0006和0x0007。
(6)单击图1.38中的按钮图标,退出“View Memory”对话框。
(7)在LoongIDE主界面主菜单下,选择Debug->Run,进入调试器界面,程序停到第二个断点处。
(8)单击“CPU Registers”标签,在“CPU Registers”标签页中找到寄存器名字为“s0”的一行,并用鼠标左键双击该行,弹出“View Memory”对话框,如图1.39所示。从图1.39中可以看出,用于存放数据段中名字为“arr”的存储空间的首地址为0x80212530,同时也可看到从该地址开始的8个已经排完序的数据,即0x0001、0x0002、0x0003、0x0004、0x0005、0x0006、0x0007和0x0008。
![](https://epubservercos.yuewen.com/18E949/26764082801595206/epubprivate/OEBPS/Images/44102_33_2.jpg?sign=1739073414-kSkOhiLXm6IkK3Ij0IbdzTK5khLb9fxg-0-91e1b93670b925ed8da84647db34f453)
图1.38 “View Memory”对话框(1)
![](https://epubservercos.yuewen.com/18E949/26764082801595206/epubprivate/OEBPS/Images/44102_33_3.jpg?sign=1739073414-jPfLvFSMxi9rXXDXcFjbPu7BqsYAFiNW-0-3b7f33fef9b6f480d25ecc0c267f661f)
图1.39 “View Memory”对话框(2)