. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
CALL和RET指令
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
检测点 10.2 AX的值是多少
[已解决]
回复[
5
次 ] 点击[
462
次 ]
wlzaini1314
[帖 主]
[ 发表时间:2011-03-20 19:26 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-01-15 22:31
我很疑惑
看一些答案 都是 AX=6
原题
1000:0 b8 00 00 mov ax,0
1000:3 e8 01 00 call s
1000:6 40 inc ax
1000:7 58 s:pop ax
看书上写这 CALL 标号 (将当前的IP压栈后,移到标号处执行指令)
照书上说 1000:3 e8 01 00 call s 是当前的指令
IP=3 压栈后 应该是3啊
zhpsdbx
[第
1
楼]
[ 回复时间:2011-03-22 22:33 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:1
注册日期:2011-03-07 13:32
现在这里的人很少了啊。
因为在将call s放入指令缓冲器并且执行指令前 ip=3+3;
所以执行后将6压入栈中
ax=6;
jmxl
[第
2
楼]
[ 回复时间:2011-03-23 14:00 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-03-23 13:59
为什么IP=3+3,?谢谢
awp
[第
3
楼]
[ 回复时间:2011-03-23 16:25 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-03-23 16:12
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1011&qkSg=2&qID=14778&readSg=1
参考6楼回答
vane
[第
4
楼]
[ 回复时间:2011-03-23 18:10 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-03-18 20:58
入栈的IP是call指令后的第一个字的地址,所以ip的值该是inc ax 的地址
wlzaini1314
[第
5
楼]
[ 回复时间:2011-04-21 17:27 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-01-15 22:31
此贴由 贴主 于 [ 2011-04-21 17:27 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved