![微型计算机系统原理及应用:国产龙芯处理器的软件和硬件集成(实训篇)](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=1739326893-PIsjetZVd3bTfzdZoELC7pp2vLqiJabd-0-e63dcea1b92073bb518c4849727a5231)
图1.4 在代码清单1-2中设置第一个断点
(3)如图1.5所示,在代码清单1-2中设置第二个断点。
![](https://epubservercos.yuewen.com/18E949/26764082801595206/epubprivate/OEBPS/Images/44102_18_3.jpg?sign=1739326893-4F6IKkpo3QNru1wRlpyHWP7eeTBEX3yl-0-39df1534f09509667b2126f52d5c103c)
图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=1739326893-4tZcH3JyqkbmOzNJQekkCrDFt0ks8myM-0-e9532ddadaad24378759a86f6e049967)
图1.6 “View Memory”对话框(1)
![](https://epubservercos.yuewen.com/18E949/26764082801595206/epubprivate/OEBPS/Images/44102_19_3.jpg?sign=1739326893-69OhnAxpVr6ke67ZGT8oY33NlLXkysmJ-0-8cb3bf5024f1794b6f9b8f6cbdcbb48c)
图1.7 “View Memory”对话框(2)