鱼C论坛

 找回密码
 立即注册
查看: 2641|回复: 2

检测点3.1

[复制链接]
发表于 2013-7-10 19:44:57 | 显示全部楼层 |阅读模式
50鱼币
为什么我3.1 (2)答案到了
1.mov ax,[0008]我调试出来的和书上的有区别。
2.(1)需要用e命令修改0:0 1f为书上的内容。那么第二个呢?

QQ截图20130710194356.png QQ截图20130710194407.png
求3.1用debug调试的详细解答。

最佳答案

查看完整内容

前面的问题没看懂,说下后面的问题。 在debug里,先设置内存和寄存器的值,然后用T命令一步一步执行,实际执行了以下代码: ;整个过程中通过改变DS和CS的值,代码段和数据段实现了互换,两都没有本质区别; ;物理地址由段基址乘16再加偏移量表示,不同的基础加上不同的偏移量,可表示同一个物理地址,如1000h:0和0FF0h:100h ;同表示10000H;当前要执行的代码存放地址由CS:IP指出,CS存放代码所在段的基址,IP存放其相对于基址 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-10 19:44:58 | 显示全部楼层
前面的问题没看懂,说下后面的问题。
在debug里,先设置内存和寄存器的值,然后用T命令一步一步执行,实际执行了以下代码:
 mov        ax,6622h
 jmp        0FF0h:0100h
 mov        ax,2000h
 mov        ds,ax
 mov        ax,ds:[0008]
 mov        ax,ds:[0002]
;整个过程中通过改变DS和CS的值,代码段和数据段实现了互换,两都没有本质区别;
;物理地址由段基址乘16再加偏移量表示,不同的基础加上不同的偏移量,可表示同一个物理地址,如1000h:0和0FF0h:100h
;同表示10000H;当前要执行的代码存放地址由CS:IP指出,CS存放代码所在段的基址,IP存放其相对于基址的偏移量。


下图列出了每执行一步,相关寄存器的变化:
QQ图片20130710231217.jpg

下图跟据题意,设置寄存器和内存的值:
QQdebug.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-11 15:21:37 | 显示全部楼层

谢谢你的答案。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 05:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表