鱼C论坛

 找回密码
 立即注册
查看: 1222|回复: 5

[汇编作业] 检测点2.3需要的主意事项

[复制链接]
发表于 2023-1-8 02:25:37 | 显示全部楼层 |阅读模式

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

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

x
作业题目:

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

                                mov          ax,bx
                                sub  ax,ax
                                jmp        ax


答案解析:
                                                mov          ax,bx                读取这段代码之后是第一次
                                                sub  ax,ax                读取这段代码之后是第二次
                                                jmp        ax                        读取这段代码之后是第三次,然后执行这段代码是第4次
                               
                                由于执行了第二段代码,ax为0000H,所以IP中的地址也是0000H

身为一名新手,我们需要注意的的是最后一行代码,读取是一次,执行又是一次。


以上纯属个人观点,如有错误,还望大家指出,不胜感激!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-25 22:02:57 From FishC Mobile | 显示全部楼层
看着有点懵,为什么唯独最后一列代码是读取是一次,执行又是一次呢??前面的代码又不是读取一次执行一次呢??这个对于新学员的我来说有点懵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-15 16:31:50 | 显示全部楼层
ITBOY124 发表于 2023-1-25 22:02
看着有点懵,为什么唯独最后一列代码是读取是一次,执行又是一次呢??前面的代码又不是读取一次执行一次呢 ...

汇编ip的值应该是在读取完该指令后就变了,变到下一条指令那里随时准备读取下一条。所以读取完该指令后还没等它执行IP值就改变了。而前面的代码和后面代码一样,都是读取后IP值就变,唯独最后一行代码读取后指令照常+n(n是目前指令长度),但是随后执行该指令,jmp指令执行效果就是修改cs和ip的值,所以这条指令执行后就又修改了一次。所以共计四次。如果是三条jmp指令(假设jmp执行后的地址是第二条jmp指令的位置),那么ip值应该改变了6次。个人见解。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-19 13:32:53 | 显示全部楼层
御坂美琴s 发表于 2023-4-15 16:31
汇编ip的值应该是在读取完该指令后就变了,变到下一条指令那里随时准备读取下一条。所以读取完该指令后还 ...

好吧, 其实还是不太能理解,现在只能把它当公式那样记吧,知道有这么个回事吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-19 20:48:20 | 显示全部楼层
ITBOY124 发表于 2023-4-19 13:32
好吧, 其实还是不太能理解,现在只能把它当公式那样记吧,知道有这么个回事吧。

我尽力描述了,我表达水平有那么不堪嘛。。不知道你课看到哪里了,你要是看到了寻址方式那一块,好像在第7章还是第8章,你看着那个动态视频,你就能更好的理解cpu是怎么读取指令,执行指令,cs,ip,ds,bp/bx是怎么变化的,内存单元存的是数据还是指令,看完那个你都会有很直观的感受的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-12-17 22:52:13 | 显示全部楼层
ITBOY124 发表于 2023-4-19 13:32
好吧, 其实还是不太能理解,现在只能把它当公式那样记吧,知道有这么个回事吧。

在小甲鱼视频的演示里有出现,书上可以看下29页的图2.20和30页的图2.21,这个问题和cpu的执行顺序有关系,指令还没执行的时候ip已经跳转到下一个了,但是指令执行后又会把ip修改成ax的值也就是0000H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 20:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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