标签:转移 bbr 根据 重复执行 continue res 自动完成 rom ESS
??Bochs就像一台真机一样,处理器在加电之后,要开始取指令并执行指令。
jmpf f000:e05b ;转移目标位置ROM-BIOS
??如图在左侧显示了该指令所在的物理内存地址 0x0000fffffff0。
??但为什么是0x0000fffffff0?因为和8086不同,现代处理器在加电时,段寄存器CS的内容为,0xF000,指令指针寄存器IP的内容为0xFFF0,这就使得处理器地址线的低20位同样是0xFFFF0。在刚启动时,处理器将其余(高位部分)的地址线强制为高电平。因为当前Bochs虚拟机的地址线是32根,所以,初始发出的物理内存地址就是0x0000fffffff0了。
??Bochs执行一条指令,然后停下来,同时显示下一条将要执行地指令。
??注意,物理地址变了。现代的x86处理器在加电后,所有高端的地址线都被强制为高电平,直至遇到并执行了第一个段间转移指令。
??单步执行有一个缺点,就是会陷入同一条指令地多次重复执行里,这时用n命令,Bochs将自动完成循环过程,并在循环体外地下一条指令前停住。
??反汇编地意思是根据机器指令代码生成可读地汇编语言指令,正好与汇编过程相反。u 命令可以使用两个参数,第一个参数是跟在 / 后面地数字,指定返汇编出多少条指令;第二条参数用于指定一个内存地址,Bochs从这里开始反汇编操作。
??就是事先设置一个(物理)内存地址,当处理器执行到这个地址时,就自动停下来了。然后再输入命令 c(continue) 是持续执行的意思,该命令要求处理器不间断地持续执行指令。
??显示通用寄存器地内容
??显示段寄存器地内容
??即,显示指定物理内存地址处地内容。xp命令每次只显示一个双子。要是显示多个双字,需要用 / 附加一个数据量。然后,还应当指定一个物理内存地址。
??用于显示标志寄存器地状态,如果标志寄存器名称是小写,说明该标志为0;否者该标志状态为1。
??退出Bochs调试过程
标签:转移 bbr 根据 重复执行 continue res 自动完成 rom ESS
原文地址:https://www.cnblogs.com/chengmf/p/12540327.html