REPE 和 REPNE 的问题

[复制链接]
查看11 | 回复1 | 2015-11-3 14:51:30 | 显示全部楼层 |阅读模式
你要把两个指令搞懂,第一个是repe和repne,前者是repeat equal,意思是相等的时候重复,后者是repeat not equal,不等的时候重复;每循环一次cx自动减一,所以MOV CX,N,n就是循环次数;第二个是scasb 意思是【al】-【di】,也就是比较查询di中是否有al中的字符,没比较一次di自动变化,指向上一个或下一个单元。,若di中有x则跳出循环MOV AL,XMOV CX,NREPE SCASB意思就是在n次内,若di中没有x,跳出循环都和al有关系啊
回复

使用道具 举报

千问 | 2015-11-3 14:51:30 | 显示全部楼层
1、REPE 和 REPNE均是汇编语言。2、REPE/REPZ当相等/为零时重复串操作格式:REPE(或REPZ) String Primitive其中String Primitive可为CMPS或SCAS指令。执行的操作:1)如(CX)=0或ZF=0(即某次比较的结果两个操作数不等)时退出,否则往下执行2)(CX)<-(CX)-13)执行其后的串指令4)重复1)~3)3、REPNE/REPNZ当不相等/不为零时重复串操作格式:REPNE(或REPNZ) String Primitive执行的操作:除退出条件(CX=0)或ZF=1外,其他操作与REPE完全相同。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行