这篇文章主要介绍了汇编语言指令集之串处理指令讲解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
串处理指令
串处理指令分类情况如下:
指令类型 | ||
---|---|---|
MOVS | move string | 传传送 |
CMPS | compare string | 串比较 |
SCAS | scan string | 串扫描 |
LODS | load from string | 从串取 |
STOS | store in to string | 存入串 |
INS | input from port to string | 串输入 |
OUTS | output string to port | 串输出 |
REP | repeat | 重复 |
REPE/REPZ | repeat while equal/zero | 相等/为零则重复 |
REPNE/REPNZ | repeat while not equal/zero | 不相等/不为零则重复 |
1.MOVS
格式:
MOVS DST,SRC
MOVSB (字节)
MOVSW (字)
MOVSD (双字)(386及其后继机型可用)
用法:
指令可以把SI指向的数据段中的一个字节、字或双字(DS:SI)传递到由DI指向的附加段中的一个字节、字或双字(ES:DI)中去,不影响条件标志位,并根据DF以及数据格式对SI和DI进行修改。
2.CMPS
格式:
CMPS SRC,DST
CMPSB (字节)
CMPSW (字)
CMPSD (双字)(386及其后继机型可用)
用法:
指令把DS:SI指向的存储单元中的数据与ES:SI指向的存储单元中的数据相减,不保存结果但影响条件标志位,并根据DF的值对SI和DI进行修改。
3.SCAS
格式:
SCAS DST
SCASB (字节)
SCASW (字)
SCASD (双字)(386及其后继机型可用)
用法:
指令把AL、AX或EAX中的数据与ES:DI指向的存储单元中的数据相减,不保存结果但影响条件标志位,并根据DF的值对SI和DI进行修改。
4.LODS
格式:
LODS SRC
LODSB (字节)
LODSW (字)
LODSD (双字)(386及其后继机型可用)
用法:
指令把DS:SI指向的存储单元中的数据送到AL、AX或EAX中,并根据条件标志位DF的值和数据类型来修改SI。
5.STOS
格式:
STOS DST
STOSB (字节)
STOSW (字)
STOSD (双字)(386及其后继机型可用)
用法:
指令把AL、AX和EAX中的内容存入由DS:SI指向的存储单元,并根据DF的值及数据类型修改SI。
6.INS
格式:
INS DST,DX
INSB (字节)
INSW (字)
INSD (双字)(386及其后继机型可用)
用法:
指令把端口在DX寄存器中的I/O空间的数据送到由ES:DI指向的存储单元,并根据DF的值和数据类型修改DI。
7.OUTS
格式:
OUTS DX,SRC
OUTSB (字节)
OUTSW (字)
OUTSD (双字)(386及其后继机型可用)
用法:
指令把由DS:SI指向的存储单元中的数据送到端口号在DX寄存器中的I/O端口中,并根据DF的值和数据类型改变SI。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
本文标题为:汇编语言指令集之串处理指令讲解


- Golang http.Client设置超时 2023-09-05
- Swift超详细讲解指针 2023-07-08
- Go Web开发进阶实战(gin框架) 2023-09-06
- 汇编语言程序设计之根据输入改变屏幕颜色的代码 2023-07-06
- Ruby的字符串与数组求最大值的相关问题讨论 2023-07-22
- Ruby on Rails在Ping ++ 平台实现支付 2023-07-22
- R语言关于二项分布知识点总结 2022-11-30
- R语言绘图数据可视化pie chart饼图 2022-12-10
- Ruby 迭代器知识汇总 2023-07-23
- R语言-如何切换科学计数法和更换小数点位数 2022-11-23