. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
基础知识
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
请问这个repnz scasw 指令是什么意思?
[已解决]
回复[
3
次 ] 点击[
254
次 ]
webnumen
[帖 主]
[ 发表时间:2007-12-23 12:12 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:4
注册日期:2007-12-07 23:15
我初步知道这个是要一个字一个字来进行比较,但怎么比较,从哪里的数据进行比较,这个就真的不太清楚了,麻烦大家解释清楚一点行吗?
cat442
[第
1
楼]
[ 回复时间:2007-12-23 14:05 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:16
信誉值:6
注册日期:2007-06-26 16:56
分别认识这两个指令
repnz: 可理解为循环
if CX <> 0 执行后面的指令 ,并且
CX = CX - 1
if ZF = 0 检查cx 是否为零
else (ZF==1)
结束repnz循环
else (cx==0)
结束repnz循环
scasw:16位比较 ax 与 ES:[DI]
首先计算 AX - ES:[DI]
根据结果设置标志位,但不保留结果:
OF, SF, ZF, AF, PF, CF
if DF = 0 那么
DI = DI + 2
else
DI = DI - 2
webnumen
[第
2
楼]
[ 回复时间:2007-12-23 17:38 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:4
注册日期:2007-12-07 23:15
此贴由 贴主 于 [ 2007-12-23 17:38 ] 结贴。 结贴原因:问题已解决
webnumen
[第
3
楼]
[ 回复时间:2007-12-23 17:39 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:4
注册日期:2007-12-07 23:15
谢谢 cat442
得分情况: 1楼(cat442):2分
此问题已结贴!
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved