![微型计算机系统原理及应用:国产龙芯处理器的软件和硬件集成(实训篇)](https://wfqqreader-1252317822.image.myqcloud.com/cover/856/47379856/b_47379856.jpg)
1.1.5 汇编语言编译和调试
本节将介绍如何对前面所设计的汇编语言代码进行编译,并在龙芯1B硬件开发平台上进行调试和验证。具体的实现步骤如下所示。
(1)编译程序代码,给龙芯1B硬件开发平台上电。
(2)如图1.4所示,在代码清单1-2中设置第一个断点。
![](https://epubservercos.yuewen.com/18E949/26764082801595206/epubprivate/OEBPS/Images/44102_18_2.jpg?sign=1739303184-R4ztGFm9oePbN1WZnkXYVFFXCB7IAj9p-0-d3975cb1345a7d5e98768968ff45426e)
图1.4 在代码清单1-2中设置第一个断点
(3)如图1.5所示,在代码清单1-2中设置第二个断点。
![](https://epubservercos.yuewen.com/18E949/26764082801595206/epubprivate/OEBPS/Images/44102_18_3.jpg?sign=1739303184-HV7mNlsC5Loe8uQeDwIpXUbh7arR20kE-0-15d470467538d4537dfbebb34cc8e66d)
图1.5 在代码清单1-2中设置第二个断点
(4)在LoongIDE主界面主菜单下,选择Debug->Run,进入调试器界面,此时程序自动停在第一个断点处。
(5)在调试器界面中,单击“CPU Registers”标签,在“CPU Registers”标签页中找到寄存器名字为“s0”的一行,并用鼠标左键双击该行,弹出“View Memory”对话框,如图1.6所示。从图1.6中可知,在数据段中开辟的一块名字为“buffer”的存储空间的首地址为0x80212508,同时也可看到从地址0x80212508开始的连续16个字节的存储位置依次显示了要排序的8个数据,即0x0003、0x0008、0x0001、0x0005、0x0002、0x0004、0x0006和0x0007。
(6)单击图1.6中的按钮图标,退出“View Memory”对话框。
(7)在LoongIDE主界面主菜单下,选择Debug->Run,程序停到第二个断点处。
(8)在调试器界面中,单击“CPU Registers”标签,在“CPU Registers”标签页中找到寄存器名字为“s0”的一行,并用鼠标左键双击该行,弹出“View Memory”对话框页,如图1.7所示。从图1.7中可知,从地址0x80212508开始的连续16个字节的存储位置依次显示了已经排序完的8个数据,即0x0001、0x0002、0x0003、0x0004、0x0005、0x0006、0x0007和0x0008。
![](https://epubservercos.yuewen.com/18E949/26764082801595206/epubprivate/OEBPS/Images/44102_19_2.jpg?sign=1739303184-JyMtXns9i2EZzfr1p11xxqFYrU4U5KgE-0-45d2cfad3fcbb650a51262df2907ebed)
图1.6 “View Memory”对话框(1)
![](https://epubservercos.yuewen.com/18E949/26764082801595206/epubprivate/OEBPS/Images/44102_19_3.jpg?sign=1739303184-e9GtSrAH8xpAv1OrVrNrdseHjwqaHQBg-0-0e122df7e605ab1bf401a6b3693d0b20)
图1.7 “View Memory”对话框(2)