repne指令和scasb指令解析
来源:互联网 发布:java特种兵 读后感 编辑:程序博客网 时间:2024/04/30 01:03
extern inline int strlen(const char * s){register int __res__asm__('cx');__asm__("cld\n\t""repne\n\t""scasb\n\t""notl %0\n\t""decl %0":"=c"(__res):"D"(s),"a"(0),"0"(0xffffffff):"di");return __res;}
你要把两个指令搞懂,第一个是repe和repne,前者是repeat equal,意思是相等的时候重复,后者是repeat not equal,不等的时候重复;每循环一次cx自动减一,所以MOV CX,N,n就是循环次数;第二个是scasb 意思是【al】-【di】,也就是比较查询di中是否有al中的字符,没比较一次di自动变化,指向上一个或下一个单元。
,若di中有x则跳出循环
MOV AL,X
MOV CX,N
REPE SCASB
意思就是在n次内,若di中没有x,跳出循环
都和al有关系啊
- repne指令和scasb指令解析
- 32位汇编语言学习笔记(36)--repne scasb指令
- repne scasb详解
- 指令 repne scas byte ptr es:[edi]
- 汇编字符串处理指令stosb、lodsb、movsw、scasb、rep
- REPNE SCAS BYTE PTR ES:[EDI] 指令详解
- 指令解析
- Win32ASM学习[18]:串指令-MOVS*、CMPS*、SCAS*、LODS*、REP、REPE、REPNE
- Win32 汇编 - 串指令: MOVS*、CMPS*、SCAS*、LODS*、REP、REPE、REPNE 等
- 【80X86汇编语言学习】【字符串处理】字符串操作指令REPNZ/REPNE
- #pragma指令用法汇总和解析
- 指令compile和link函数解析
- #pragma指令用法汇总和解析
- page指令、include指令和forward指令
- 指令、伪指令和宏指令
- 逻辑运算指令和移位指令
- 逻辑运算指令和移位指令
- 市价指令和限价指令
- 安装最新版本的MySQL5.1.47(64位)
- uboot系列之-----顶层Makefile分析(二)
- C++ 简单选择排序
- Android 控件常用属性
- 中文字体在CSS中写法
- repne指令和scasb指令解析
- Android开发之旅: Intents和Intent Filters(理论部分)
- nagios全攻略(四)----监控LINUX上的”本地信息”
- 自定义 Android 对话框 (AlertDialog) 的样式
- oracle变量绑定
- linux下tomcat应用部署
- Android实现背景图自适应不失真
- 快速书写CSS---Sass
- Linux zip 加密压缩