实验调试操作系统启动.docx精品文档
精品文档
1
精品文档
精品文档 你我共享
操作系统的启动
实验性质:验证
建议学时:2学时
一、 实验目的
跟踪调试EOS在PC机上从加电复位到成功启动的全过程,了解操作系统的启动过程。
二、 品文档
3
精品文档
AAAAAA
精品文档
精品文档
6
精品文档
精品文档 你我共享
位置,并从0x7c00处的指令开始执行引导程序, 所以接下来练****从 0x7c00处开始调试软盘
引导扇区程序:
1.
输入调试命令
vb0x0000:0x7c00,这样就在逻辑地址
0x0000:0x7c00(相当于物理
地址0x7c00)处添加了一个断点。
2.
输入调试命令
c继续执行,在0x7c00处的断点中断。中断后会在
Console窗口中
输出下一个要执行的指令,即软盘引导扇区程序的第一条指令
(0)[0x00007c00]0000:7c00():jmp.+0x006d(0x00007c6f);eb6d
为了方便后面的使用,先在纸上分别记录下此条指令的字节码(eb6d)和此条指令
要跳转执行的下一条指令的地址(括号中的 0x00007c6f)。
输入调试命令sreg验证CS寄存器(0x0000)的值。
输入调试命令r验证IP寄存器(0x7c00)的值。
由于BIOS程序此时已经执行完毕,输入调试命令xp/1024b0x0000验证此时BIOS中断向量表已经被载入。
输入调试命令xp/512b0x7c00显示软盘引导扇区程序的所有字节码。观察此块内
存最开始的两个字节分别为0xeb和0x6d,这和引导程序第一条指令的字节码
(eb6d)是相同的。此块内存最后的两个字节分别为 0x55和0xaa,表示引导扇区
是激活的,可以用来引导操作系统,这两个字节是
dw 0xaa55
定义的(注意, Intel80386CPU使用littleendian字节顺序)。
输入调试命令xp/512b0x0600验证第一个用户可用区域是空白的。
输入调试命令xp/512b0x7e00验证第二个用户可用区域是空白的。
自己设计两个查看内存的调试命令,分别验证这两个用户可用区域的高地址端也是空白的。
输入调试命令xp/512b0xa0000验证上位内存已经被系统占用。
自己设计一个查看内存的调试命令,验证上位内存的高地址端已经被系统占用。
NASM汇编器在将 ,会生成一个 ,帮
。按照下面的步骤查看
:
1.
在“项目管理器”窗口中,右键点击“boot”文件夹中的
。
2.
在弹出的快捷菜单中选择“打开生成的列表文件”
,在源代码编辑器中就会打开文
。
3.
,此文件包含了
的汇编代码,同时在代码的左侧又添加了更多的信息。
4.
实验调试操作系统启动 来自淘豆网www.taodocs.com转载请标明出处.