鱼C论坛

 找回密码
 立即注册
查看: 10876|回复: 45

[汇编作业] 检测点2.3

[复制链接]
发表于 2015-4-23 20:16:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
下面3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?mov ax,bx
sub ax,ax
jmp ax


首先根据 代码 我们可以看到
mov ax,bx   我们将bx的值存入ax中,暂且不管bx的值为多少我们就认为bx中有一个数据
sub ax,ax     然后我们重新给ax赋值  ax = ax - ax ,所有ax的值应该为 0
jmp ax         当jmp指令,指向的是一个通用寄存器ax,代表的意思为修改 IP 的值
IP的值为ax  即  IP 的值应为0


所以CPU只修改了1次IP
执行到 jmp ax 时 修改了
IP中的值 为 0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-4-23 20:24:02 | 显示全部楼层
忽然想到了   一段代码运行后,IP 会自动增加一些数据,所以上面应该是错的
IP 修改了3次  如果我们忽略了第一次指向
因为IP每次都会在指令运行后加上指令所占用的长度
所以第一次在mov ax,bx  指令运行后
第二次在sub ax,ax  指令运行后
第三次在jmp ax   指令运行后
最后Ip的值应为0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-24 08:59:43 | 显示全部楼层
解:
修改4次;第一次在CPU读取“mov ax,bx”后,第二次在CPU读取“sub ax,ax”后,第三次在CPU读取“jmp ax”后,第四次在CPU执行完“mov ax,bx”后;最后IP中的值为0。

容我默默的哭次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2015-5-27 07:15:01 | 显示全部楼层
打挺鱼 发表于 2015-4-24 08:59
解:
修改4次;第一次在CPU读取“mov ax,bx”后,第二次在CPU读取“sub ax,ax”后,第三次在CPU读取“jmp  ...

第四次怎么来的啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-4 02:44:34 | 显示全部楼层
sub ax,ax的意思是ax=ax-ax
ip ax=0
这是第四次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-4 12:19:33 | 显示全部楼层
谢谢打挺鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-20 03:00:18 | 显示全部楼层
{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-16 15:47:09 | 显示全部楼层
学习咯,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-20 08:58:24 | 显示全部楼层
结合你的答案  苦苦思索  终于知道答案怎么求出来!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-12 00:41:43 | 显示全部楼层
打挺鱼 发表于 2015-4-24 08:59
解:
修改4次;第一次在CPU读取“mov ax,bx”后,第二次在CPU读取“sub ax,ax”后,第三次在CPU读取“jmp  ...

sud 是重新赋值吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-16 07:02:45 | 显示全部楼层
谢谢解答,有点知道了:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-17 09:18:09 | 显示全部楼层
感谢分享^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-2 21:21:45 | 显示全部楼层
我认为就修改了三次
第一次:mov ax,bx
第二次:sub ax,ax
执行完: jmp ax后ip直接变成了0000H,并不会先加再指向0000H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2016-3-14 17:31:04 | 显示全部楼层
sub ax,ax是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2016-3-16 19:55:14 | 显示全部楼层
打挺鱼 发表于 2015-4-23 20:24
忽然想到了   一段代码运行后,IP 会自动增加一些数据,所以上面应该是错的
IP 修改了3次  如果我们忽略了 ...

不是指令运行后,是读取该条指令后,IP就改变了,IP改变之后,再执行该指令。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-16 19:55:58 | 显示全部楼层

你少看一条指令,第一条指令在第一行的最后。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-16 19:57:30 | 显示全部楼层
西电图图 发表于 2016-3-2 21:21
我认为就修改了三次
第一次:mov ax,bx
第二次:sub ax,ax

第一次:读取mov ax,bx后
第二次:读取sub ax,ax后
第三次:读取jmp ax后
第四次:执行jmp ax后
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-21 20:05:41 | 显示全部楼层
sub ax,ax    我看成了  0  相减掉了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-3 16:25:54 | 显示全部楼层
很好的解释,受教了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-11 21:34:45 | 显示全部楼层
本帖最后由 張家祥 于 2016-9-11 21:36 编辑

请问一下 第三次改变IP是在读取了JUM AX 这段指令之后
          第四次改变IP是出现在CPU执行了JUM AX 这段指令之后


这样理解正确吗? 感谢各位大大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 03:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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