《穿越计算机的迷雾 卷1:硬件原理》
理解计算机的工作过程,而不是简单的会用计算机;
敬请期待:《x86汇编语言:从实模式到保护模式》9月底重磅出击!
交流群:92033881
前期的2.6版本后来发现不是很适合初学者去调试,在此用2.1.1版本去调试书中的程序会更方便。
1:2.1.1下载网址http://sourceforge.net/projects/bochs/files/bochs/2.1.1/
下Bochs-2.1.1.exe这个!
我会把工具都上传!
2:安装Bochs 2.1.1 (windows下)需要一个配置文件!bochsrc.txt 该文件已经准备好!还有一个就是随书的虚拟硬盘:LEECHUNG.vhd!
下面开始安装
安装完毕后,把配置文件和虚拟硬盘拷到安装目录下!
然后启动bochsdbg.exe、
因为已经配置好了,现在就可以直接选择5 进行仿真了。
到此 出现了两个窗口:
bochsdbg.exe 和 display
前者是调试窗口(键入命令的)后者则是结果显示窗口!
出现这俩窗口后,意味着我们的安装已经成功结束!
下面演示如何对书中的代码进行调试!
1.需要将要调试的代码(bin文件)写入bochs的vhd硬盘里、
这个要选择的是bochs的硬盘!即开始拷到安装目录下的那个!
出现这个情况是因为,bochs此时正在用这个盘。、。。
写完后,启动bochsdbg.exe进行调试!
2. 常用的调试命令
b :下个断点,后面跟上地址
c:执行程序直到遇到断点停下来!
此时看到,程序在00007c00处停了下来!
n:单步执行、此时注意display窗口的变化、
这步是往显存传了一个字符过去、这在display就显示了出来、。、、
info r :查看寄存器的内容(清晰明了。),最后那列是10进制形式、
x /nuf addr 查看一个线性地址的内存
xp /nuf addr 查看一个物理地址的内存
这两条命令里的参数意义:
n:numbers 就是要查看多少个
u:是字节还是字 (b 代表字节)
f:显示的格式(d:10进制,x:16进制)
addr 就是地址了。
我演示下、
结果完全正确、为什么是0xb8000而不是0xb8000000,因为此时咱是在实模式下、。20根地址线!
更多命令,键入help查看、
OK!
x /nuf addr 查看一个线性地址的内存
xp /nuf addr 查看一个物理地址的内存
- 1
- 2
- 3
- 4
- 5
- 6
前往页