汇编基础实验题debug

来源:百度知道 编辑:UC知道 时间:2024/05/16 14:13:23
通过E和A命令两种方式将下列程序段通过debug输入2000:0的内存中,逐条执行并观察各个相关寄存器的变换
b8204e mov ax,4e20h
051614 add ax,1416h
bb0020 mov bx,2000h
01d8 Add ax,bx
89c3 Mov bx,ax
01d8 Add ax,bx
b81a00 Mov ax,001ah

bb2600 Mov bx,0026h
00d8 Add al,bl
00dc Add ah,bl
00c7 Add bh,al
b400 Mov ah,0
00d8 Add al,bl
049c Add al,9ch

还有另外一题
查看PC机主板ROM中的写有一个生产日期,在内存单元FFF00~FFFFF的某几个单元中,试找到,并试修改。

做的出来继续追加,其实很简单的题目,只是因为没好好听.谢谢各位.

我们现在操作的内存都是虚拟内存,如果你要访问物理内存,你需要把虚拟内存转换为物理内存,然后读取,而且需要ring0权限。一般是通过驱动来读取的。

这需要自己动手,debug的使用,网上一搜就有。简单给你些提示吧:

第一个问题,使用-a 2000:0000跳到2000:0000处,把代码敲进去,然后设置cs:ip为2000:0000,使用-t命令单步跟踪下就可以了;

第二个,FFF00~FFFFF,转成段地址和偏移地址表示就是从FFF0:0000开始向后的FFh,也就是256个字节。用-d命令查看一下,

格式为:-d FFF0:0000 FF

然后找到其中的存日期的地址后,用-e 段地址:偏移地址,直接输入要修改的数据就可以了。

其他就是自己动手了,实践了才有感觉。

SORRY 俺也不会 实在不好意思