. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
基础知识
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
JMP指令的一些疑惑
[待解决]
回复[
1
次 ] 点击[
298
次 ]
studyassembly413
[帖 主]
[ 发表时间:2010-11-22 23:10 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2010-11-22 22:43
Run jmp 指令后,CPU 会执行 CS:[IP]位置的指令,IP值的确定 应该是由2部分组成 当前的IP+ 位移
问题来了:
书上说 这个位移是编译器自动计算的
怎么计算,书上也有个图,不过我还是不太明白
能否给我解释下?或者说 那个位移一定要编译器来自动计算吗?我们可不可以推算出来?
谢谢
mess
[第
1
楼]
[ 回复时间:2010-11-23 10:07 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
根据图9.3,位移是两个地址的差。
如jmp s0,标号s0的偏移地址是6,在执行jmp s0这条指令时ip=3(ip只想jmp s0下一条指令,有疑问看第二章,还有监测点2.3),所以位移量是6-3=3。
楼主自己分析下jmp s.
能否给我解释下?或者说 那个位移一定要编译器来自动计算吗?我们可不可以推算出来?
-------------------
可以,只要会算汇编指令对应的机器指令的长度,就可以算出来。
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved