. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  检测点2.3 CPU修改了几次IP  [待解决] 回复[ 9次 ]   点击[ 367次 ]  
yym2
[帖 主]   [ 发表时间:2010-12-17 16:47 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-12-17 16:43
mov ax,bx
sub ax,ax
jmp ax

个人意见是一共修改3次,分别是每条指令执行结束后。
但网上流传的答案是修改了4次,其中jmp指令读入是修改一次,结束后修改一次。
我认为jmp指令只是将ip值从本来会是下面一条指令(如果有)改到了最初的mov指令
并没有执行mov指令,因此只修改了3次ip

想听听大家的意见。
yin.viky
[第1楼]   [ 回复时间:2010-12-17 18:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2010-10-31 08:38
我一直以为是3次。
等待一个权威的。
有办法查看JMP修改IP么?
yin.viky
[第2楼]   [ 回复时间:2010-12-17 18:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2010-10-31 08:38
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1003&qkSg=2&qID=20701&readSg=1
goodxiaowan
[第3楼]   [ 回复时间:2010-12-22 07:47 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-23 12:24
mov ax,bx 
mov ax,ax
各修改一次
jmp ax
本身一次,执行命令又一次!
所以总四次!
yym2
[第4楼]   [ 回复时间:2010-12-26 09:25 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-12-17 16:43
回复:[第3楼]
------------------
JMP 的执行就是修改IP,执行完就不需要再改IP了。
所以应该是本身也就是执行时修改1次。
执行完不修改IP。(其余指令执行过程不修改IP,执行完修改IP)
yglmly
[第5楼]   [ 回复时间:2011-05-24 23:32 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-24 22:56
我认为不对,可以见书P26的图,书中说读取完数据之后,IP就变,然后再执行命令,所以是四次
blackljf
[第6楼]   [ 回复时间:2011-05-27 18:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-27 17:48
是四次哇!!!JMP命令有两次的哇
xiehao315
[第7楼]   [ 回复时间:2011-07-02 19:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-08-24 08:57
检测点2.3
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
CPU四次修改IP
第一次,读取指令mov ax,bx,将其送入指令缓冲器后
第二次,读取指令sub ax,ax,将其送入指令缓冲器后
第三次,读取指令jmp ax,将其送入指令缓冲器后
第四次,jmp ax指令执行完成后
最后IP中的值是0
did0602
[第8楼]   [ 回复时间:2011-07-13 18:08 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-07-11 13:17
ip改变后,才执行指令缓冲器里面的代码,个人感觉应该四次
javaimgod
[第9楼]   [ 回复时间:2012-01-14 02:47 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-01-10 21:29
应该是4次,读取指令后,不管是什么指令在执行前ip都要改变一次,如果是jmp指令也是要改变一次的,然后执行jmp又改变一次,然后再读取下条指令后再改变一次。。。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved