在Keill C的调试状态下,如何观察和修改data区、idata区、xdata区的数据?如何观察code区的数据?
答:在调试状态下,点击View菜单下的Memory Window命令或对应的按钮,就会显示出或隐藏起存储器窗口。存储器窗口包含4个标签,即4个显示区,分别是Memory#1、…、Memory#4。
在4个显示区上边的“Address”栏输入不同类型的地址,可以观察不同的存储区域。
1)设置观察片内RAM直接寻址的data区,在Address栏输入D:xx(xx为十六进制的两位数,下同),便显示从xx地址开始的数据。高128字节显示的是特殊功能寄存器的内容。
2)设置观察片内RAM间接寻址的idata区,在Address栏输入I:xx,便显示从xx地址开始的数据。高128字节显示的也是数据区的内容,而不是特殊功能寄存器的内容。
3)设置观察片外RAM xdata区,在Address栏输入X:xxxx,便显示从xxxx地址开始的数据。
4)设置观察程序存储器ROM code区,在Address栏输入C:xxxx,便显示从xxxx地址开始的程序代码。
在显示区域中,默认的显示形式为十六进制的字节。
除了程序存储器中的数据不能修改之外,其它3个区域的数据均可修改。修改方法是,用鼠标对准欲修改的单元,点击鼠标右键,在弹出的菜单中对Modify Memory at 0x…命令点击鼠标左键,会弹出的文本输入栏输入数据,然后用鼠标左键点击“OK”即可。