任务二:
1. 首先开启qemu调试模式.
开启gdb调试工具,连接到qemu中:
2. 从0xfff0开始单步跟踪BIOS的执行
从上图可看出本身执行就是从fff0执行的,进行反汇编得到的结果为:
3. 在初始化位置0x7c00设置实地址断点,测试断点正常。
首先设置断点:
然后运行程序执行到断点处:
4. 从0x7c00开始跟踪代码运行,将单步跟踪反汇编得到的代码与bootasm.S和bootblock.asm进行比较
在0x7c00进行反汇编操作:
Bootasm.S:
Bootblock.asm:
从三个文件的语句比较来看,表达的每句话的含义是相同的,只不过汇编语句的表示方式有所不同。
5. 自己找一个bootloader或内核中的代码位置,设置断点进行测试。