1.4.5 汇编语言编译和调试

本节将介绍如何对前面所设计的汇编语言代码进行编译,并在龙芯1B硬件开发平台上进行调试和验证。具体实现步骤如下所示:

(1)编译程序代码,给龙芯1B硬件开发平台上电。

(2)如图1.43所示,在代码清单1-8中设置第一个断点。

图1.43 在代码清单1-8中设置第一个断点

(3)如图1.44所示,在代码清单1-8中设置第二个断点。

图1.44 在代码清单1-8中设置第二个断点

(4)在LoongIDE主界面主菜单下,选择Debug->Run,进入调试器界面,程序自动停在第一个断点处。

(5)单击“CPU Registers”标签,在“CPU Registers”标签页中找到寄存器名字为“s1”的一行,并用鼠标左键双击该行,弹出“View Memory”对话框,如图1.45所示。从图1.45中可以看出,存放数据段中名字为“arr”的存储空间的首地址为0x802125f8,同时也可看到从该地址开始的8个要排序的数据,即0x0021(十进制数33)、0x003a(十进制数58)、0x03e7(十进制数999)、0x0000(十进制数0)、0x00e9(十进制数233)、0x0036(十进制数54)、0x0085(十进制数133)和0x0007(十进制数7)。

(6)单击图1.45中的按钮图标,退出“View Memory”对话框。

(7)在LoongIDE主界面主菜单下,选择Debug->Run,程序停在第二个断点处。

(8)单击“CPU Registers”标签,在“CPU Registers”标签页中找到寄存器名字为“s1”的一行,并用鼠标左键双击该行,弹出“View Memory”对话框,如图1.46所示。从图1.46中可以看出,用于存放数据段中名字为“arr”的存储空间的首地址为0x802125f8,同时也可看到从该地址开始的8个已经排完序的数据,即0x0000(十进制数0)、0x0007(十进制数7)、0x0021(十进制数33)、0x0036(十进制数54)、0x003a(十进制数58)、0x0085(十进制数133)、0x00e9(十进制数233)和0x03e7(十进制数999)。

图1.45 “View Memory”对话框(1)

图1.46 “View Memory”对话框(2)