检查点9.1的三道题

 题目(1):程序如下,如要使程序中的jmp指令执行后,cs:ip指向程序的第一条指令,在datasg段中应该定义哪些数据。

分析:要使jmp指令执行后cs:ip指向第一条指令,则cs值不变,而ip值应该为零。而jmp指令是从ds:[bx+1]处提取一个字的值给ip。所以应该在datasg段至少定义两个字,且他们的第二个字应该为零。

源代码:

 

调试过程:

题目2:程序如下,

源代码:

调试过程:

题目3:用debug查看内存,结果如下:

2000:1000 BE 00 06 00 00 00 ......

则此时,cpu执行下列指令:

后,(cs)=? ,(ip)=?

解答:jmp dword ptr 内存单元地址 这条指令执行后将内存单元地址的高地址字单元的值赋给cs,而把低地址字单元的值赋给ip。

所以在执行jmp dword ptr es:[1000h]完这条指令时,把es:[1000h+2h]这个字单元的值赋给cs,cs=0006。把es:[1000h】处的值赋给ip,即ip=00BE。

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值