QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

新鱼友

Rank: 1

积分
13
查看: 2900|回复: 35

[汇编作业] 检测点2.3

[复制链接]
最佳答案
0 
累计签到:12 天
连续签到:1 天
打挺鱼 发表于 2015-4-23 20:16:30 290035 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

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

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
楼层
跳转到指定楼层
最佳答案
0 
累计签到:12 天
连续签到:1 天
打挺鱼  楼主| 发表于 2015-4-23 20:24:02 | 显示全部楼层
忽然想到了   一段代码运行后,IP 会自动增加一些数据,所以上面应该是错的
IP 修改了3次  如果我们忽略了第一次指向
因为IP每次都会在指令运行后加上指令所占用的长度
所以第一次在mov ax,bx  指令运行后
第二次在sub ax,ax  指令运行后
第三次在jmp ax   指令运行后
最后Ip的值应为0
最佳答案
0 
累计签到:12 天
连续签到:1 天
打挺鱼  楼主| 发表于 2015-4-24 08:59:43 | 显示全部楼层
解:
修改4次;第一次在CPU读取“mov ax,bx”后,第二次在CPU读取“sub ax,ax”后,第三次在CPU读取“jmp ax”后,第四次在CPU执行完“mov ax,bx”后;最后IP中的值为0。

容我默默的哭次
最佳答案
0 
累计签到:6 天
连续签到:1 天
哥斯拉不说话 发表于 2015-5-27 07:15:01 | 显示全部楼层
打挺鱼 发表于 2015-4-24 08:59
解:
修改4次;第一次在CPU读取“mov ax,bx”后,第二次在CPU读取“sub ax,ax”后,第三次在CPU读取“jmp  ...

第四次怎么来的啊?
最佳答案
0 
累计签到:24 天
连续签到:1 天
LLP难得糊涂 发表于 2015-6-4 02:44:34 | 显示全部楼层
sub ax,ax的意思是ax=ax-ax
ip ax=0
这是第四次
最佳答案
0 
累计签到:271 天
连续签到:1 天
hexiaofengye 发表于 2015-6-4 12:19:33 | 显示全部楼层
谢谢打挺鱼
最佳答案
0 
累计签到:110 天
连续签到:1 天
fast 发表于 2015-6-20 03:00:18 | 显示全部楼层
{:1_1:}
最佳答案
0 
累计签到:7 天
连续签到:1 天
abnerfive 发表于 2015-9-16 15:47:09 | 显示全部楼层
学习咯,谢谢
最佳答案
0 
累计签到:45 天
连续签到:1 天
白开水1982 发表于 2015-9-20 08:58:24 | 显示全部楼层
结合你的答案  苦苦思索  终于知道答案怎么求出来!!
最佳答案
0 
累计签到:14 天
连续签到:1 天
shuangsi 发表于 2015-12-12 00:41:43 | 显示全部楼层
打挺鱼 发表于 2015-4-24 08:59
解:
修改4次;第一次在CPU读取“mov ax,bx”后,第二次在CPU读取“sub ax,ax”后,第三次在CPU读取“jmp  ...

sud 是重新赋值吗
最佳答案
0 
累计签到:3 天
连续签到:1 天
cjj9020 发表于 2015-12-16 07:02:45 | 显示全部楼层
谢谢解答,有点知道了:lol:
最佳答案
0 
累计签到:95 天
连续签到:1 天
gt3223 发表于 2015-12-17 09:18:09 | 显示全部楼层
感谢分享^_^
最佳答案
0 
累计签到:41 天
连续签到:1 天
西电图图 发表于 2016-3-2 21:21:45 | 显示全部楼层
我认为就修改了三次
第一次:mov ax,bx
第二次:sub ax,ax
执行完: jmp ax后ip直接变成了0000H,并不会先加再指向0000H
最佳答案
0 
累计签到:1 天
连续签到:0 天
白泽 发表于 2016-3-14 17:31:04 | 显示全部楼层
sub ax,ax是什么意思
最佳答案
37 
累计签到:429 天
连续签到:1 天
兰陵月 发表于 2016-3-16 19:55:14 | 显示全部楼层
打挺鱼 发表于 2015-4-23 20:24
忽然想到了   一段代码运行后,IP 会自动增加一些数据,所以上面应该是错的
IP 修改了3次  如果我们忽略了 ...

不是指令运行后,是读取该条指令后,IP就改变了,IP改变之后,再执行该指令。
最佳答案
37 
累计签到:429 天
连续签到:1 天
兰陵月 发表于 2016-3-16 19:55:58 | 显示全部楼层

你少看一条指令,第一条指令在第一行的最后。
最佳答案
37 
累计签到:429 天
连续签到:1 天
兰陵月 发表于 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后
最佳答案
0 
累计签到:5 天
连续签到:1 天
anaf 发表于 2016-4-21 20:05:41 | 显示全部楼层
sub ax,ax    我看成了  0  相减掉了
最佳答案
0 
累计签到:68 天
连续签到:1 天
Maru 发表于 2016-9-3 16:25:54 | 显示全部楼层
很好的解释,受教了
最佳答案
0 
累计签到:1 天
连续签到:1 天
張家祥 发表于 2016-9-11 21:34:45 | 显示全部楼层
本帖最后由 張家祥 于 2016-9-11 21:36 编辑

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


这样理解正确吗? 感谢各位大大

发表回复

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

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-2-23 16:19

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