long666
发表于 2017-7-11 11:07:51
受教了谢谢
thunder
发表于 2017-8-29 17:35:55
好久没有人回复了,是不是我的进度太慢{:10_250:}
siugaawai
发表于 2017-11-3 17:42:07
兰陵月 发表于 2016-3-16 19:57
第一次:读取mov ax,bx后
第二次:读取sub ax,ax后
第三次:读取jmp ax后
这个才是正确答案?
兰陵月
发表于 2017-11-4 09:31:08
張家祥 发表于 2016-9-11 21:34
**** 作者被禁止或删除 内容自动屏蔽 ****
这个理解是正确的。
兰陵月
发表于 2017-11-4 09:31:43
siugaawai 发表于 2017-11-3 17:42
这个才是正确答案?
你综合一下大家讲的,这个就是正确答案
xzzsj
发表于 2017-12-14 21:18:52
共修改了四次!因为每次读取指令后就会修改一次IP的值,并且最后一条指令是修改IP的值,故共修改了四次!!!{:5_91:}
xiaomanyi520
发表于 2017-12-18 15:48:49
这答案我也是醉了,不懂汇编吗?
mmdn
发表于 2017-12-18 17:04:57
ax = 18
ah = 78
ax = ax+8
ax = bx
ax = ax+bx
mmdn
发表于 2017-12-18 17:06:13
高级语言
mmdn
发表于 2017-12-18 17:06:46
高级语言
mmdn
发表于 2017-12-18 17:07:18
w
mmdn
发表于 2017-12-18 17:07:58
s
TZJ5200
发表于 2017-12-26 23:20:31
参考:汇编语言(第3版)王爽著第28页图2.17解释内容:读取一条指令后,IP中的值自动增加。
推出:读取一条指令后,IP值便被修改。指令执行在IP修改之后。
所以:IP修改了4次。
第一次:读取mov ax,bx后。
第二次:读取subax,ax后。
第三次:读取jmpax后。
第四次:执行jmpax后。
最后:IP中的值为0。
Loong龙
发表于 2018-1-13 18:35:57
mov ax,bx 第一次 IP 默认 0ax = bx
sub ax,ax 第二次 ip + 3 ax = 0
jmp ax 第三次 ip + 3 第四次 jum 第一条 ip=0
枫魂
发表于 2018-2-11 16:41:11
哦哦,搜个死呢{:10_256:}{:10_256:}
851248662
发表于 2018-2-14 14:14:50
检测点2.3
下面的3条指令执行后,cpu几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
答:一共修改四次
第一次:读取mov ax,bx之后
第二次:读取sub ax,ax之后
第三次:读取jmp ax之后
第四次:执行jmp ax修改IP
最后IP的值为0000H,因为最后ax中的值为0000H,所以IP中的值也为0000H
jensenwu
发表于 2018-6-26 02:10:01
就是 4次拉。 很简单的问题。 只要记住没执行一次指令时, cs:ip 都会变
jensenwu
发表于 2018-6-26 02:22:36
cs 不变
zyfllz
发表于 2018-8-5 15:17:31
本帖最后由 zyfllz 于 2018-8-5 15:29 编辑
看到很多不同的观点,我怕了哈哈
WD-1
发表于 2018-8-22 21:18:08
请求大佬指点我一下
我认为cpu修改了三次ip
在执行第一行代码
mov ax,bx
时 cs:ip已经指向了这段代码
执行完第一行的代码段后 ip自增 这是修改的第一次
随后cs:ip指向第二行代码
sub ax,ax
sub是减的意思 代码的意思是ax=ax-ax
执行完第二行的代码段后 ip自增 这是第二次修改
随后cs:ip指向第三行
jmp ax
给ip赋值为0,这是第三次修改