bochs调试汇编代码

bochs调试汇编代码

Content #

计算机启动,总是把引导程序加载到物理内存地址0x7c00处,可以把这个地址设置为断点: b 0x7c00

r - 显示通过寄存器命令 sreg - segment register,显示段寄存器的内容 creg - control register,显示控制寄存器的内容 xp - eXamine memory at Physical address,显示物理内存地址处的内容每次只显示一个双字,显示多个双字,需要用"“附加一个数量。 u - 反汇编指令。第一个参数跟在”“后面,其值表示反汇编出多少条指令。第二个参数用于指定内存地址。

rep movsb, loop等指令会反复执行,此时如果使用s命令,就会反复陷入同一语句,使用调试命令n,可让bochs自动完成循环过程,并在循环体下一条指令前停住。n命令是通过寄存器CX的值来监视循环的过程。

条件跳转指令形成的循环无法用n来跳过,这时可以先用u命令找出循环体外指令的地址,再在该地址设置断点,然后用c命令跳过循环。

info eflags - 查看标志位 info gdt - 显示GDTR的内容