. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
INT指令
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
检测题是不有问题啊
[已解决]
回复[
3
次 ] 点击[
955
次 ]
zhengcong3250
[帖 主]
[ 发表时间:2010-07-07 20:37 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:2
信誉值:10
注册日期:2010-06-09 16:22
关于ret 和 iret下列说法错误的是__1__
1、 ret和iret都改变标志寄存器的值
2、 ret不改变cs的值,iret改变cs的值
3、 ret和iret都改变sp的值
4、 ret和iret都改变ip的值
答案是1,可以肯定的,不过我认为答案2也不怎么对,因为call指令和ret配合使用时,也可以实现远跳转的,也可以改变cs的值啊!我认为ret和iret的区别就在与ret不能压入标志位,困惑中。。。。
masmaster
[第
1
楼]
[ 回复时间:2010-07-07 22:14 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
2,ret修改的只是IP实现近转移, iret 修改IP和CS以及FLAGS, 所以这是对的。 call在实现段间转移时与之配对的是retf。
zhengcong3250
[第
2
楼]
[ 回复时间:2010-07-08 21:13 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:2
信誉值:10
注册日期:2010-06-09 16:22
但是我的IBM-PC程序语言设计上有这么一句“段间返回和段内返回指令的汇编格式完全一样。但在汇编过程中,汇编程序会根据源程序中主程序与子程序是否在同一代码段来区分。段内返回时,RET的机器码是C3H(或C2H带参数返回)。段间返回时,RET的机器码是CBH(或CAH带参数返回)。额。。。。。。。,对了嘛!我可以DEBUG试下,谢谢LS
zhengcong3250
[第
3
楼]
[ 回复时间:2011-11-30 12:52 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:2
信誉值:10
注册日期:2010-06-09 16:22
此贴由 贴主 于 [ 2011-11-30 12:52 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved