ucore操作系统 lab1 练习二 实验报告

练习2:理解通过make生成执行文件的过程。

题目:使用qemu执行并调试lab1中的软件

为了熟悉使用qemu和gdb进行的调试工作,我们进行如下的小练习:

从CPU加电后执行的第一条指令开始,单步跟踪BIOS的执行。
在初始化位置0x7c00设置实地址断点,测试断点正常。
从0x7c00开始跟踪代码运行,将单步跟踪反汇编得到的代码与bootasm.S和bootblock.asm进行比较。
自己找一个bootloader或内核中的代码位置,设置断点并进行测试

答案:

1.从CPU加电后执行的第一条指令开始,单步跟踪BIOS的执行。

 $ cd labcodes_answer/lab1_result/
 $ make lab1-mon

在这里插入图片描述

2.在初始化位置0x7c00设置实地址断点,测试断点正常

b *0x7c00
c

3.从0x7c00开始跟踪代码运行,将单步跟踪反汇编得到的代码与bootasm.S和 bootblock.asm进行比较

在这里插入图片描述

反汇编的代码与bootblock.asm基本相同,而与bootasm.S的差别在于:
1.反汇编的代码中的指令不带指示长度的后缀,而bootasm.S的指令则有带指示长度的后缀。
2.反汇编的代码中的通用寄存器是32位(带有e前缀),而bootasm.S的代码中的通用寄存器是16位(不带e前缀)。

lab1 练习三 https://blog.csdn.net/qq_42815549/article/details/103001048

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值