. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
寄存器(CPU工作原理)
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
检测2.3
[待解决]
回复[
4
次 ] 点击[
864
次 ]
boon
[帖 主]
[ 发表时间:2014-01-22 14:11 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2014-01-21 22:13
jmp读入和读出为什么更改了两次IP?
读入后更改了一次,怎么读出还更改呢?
还有就是IP不应该为ax+ax吗,怎么是0呢?
wuzhihuiqqyy
[第
1
楼]
[ 回复时间:2014-01-22 14:44 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2014-01-21 23:29
是不是执行jmp的时候从ax读入指令,这时候ip+,之后把ax给ip,2次,不知道是不是这样
dyg104
[第
2
楼]
[ 回复时间:2014-09-30 15:32 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2013-08-02 20:20
指令jmp执行后要改变一次ip的值,在之前原来ip的值加上本次指令的长度再改变一次。举个例子:
13d1:0100 mov ax,1
13d1:0103 jmp 13d1:0001 ;此处ip第一次改变为0106,第二次改变为0001
13d1:0106 mov bx,3
1461299415
[第
3
楼]
[ 回复时间:2014-11-13 12:01 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2014-11-08 19:06
读入的时候是JMP指令送入指令缓冲器后IP的值加上JMP指令的长度作为新的IP的值,当读出的时候是执行JMP指令后(JMP指令是改变IP指向的)IP重新变更作为指向下一条指令。
qsls
[第
4
楼]
[ 回复时间:2017-03-17 16:26 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2017-03-10 21:16
3楼正解,每次CPU将读取的指令放到指令缓冲区后,IP指向下一条指令,此时IP值变化一次,之后执行指令JMP,IP值再次变化,最终IP=ax
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved