在test.c运行过程中在命令行窗口按下ctrl+c,Bochs会进入调试模式,并会在命令行下显示如下信息。
通过u/7查看当前位置开始的7条指令的反汇编指令
就是test.c中从while开始一直到return的汇编代码。变量i保存在ds:0x3004这个地址,并不停地和0进行比较,直到它为0,才会跳出循环。
现在,开始寻找ds:0x3004对应的物理地址,首先查找段表LDT的物理地址,使用sreg命令
可以看到ldtr的值是0x0068=0000000001101000(二进制),表示LDT表存放在GDT表的1101(二进制)=13(十进制)号位置,GDT表的物理地址已知,查看G