汇编语言指令集之串处理指令讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语⾔指令集之串处理指令讲解
串处理指令
串处理指令分类情况如下:
指令类型
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。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。