串处理指令
串处理指令分类情况如下:
指令类型 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。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。