文章目录
MOVS 指令STOS 指令REPDF标志MOVS 指令
MOVS内存[EDI],内存[ESI]
将ESI地址中的值移动到EDI指向的地址中,每次移动X字节,同时 esi、edi增加x
MOVSBYTEPTR ES:[EDI],BYTE PTR ES:[ESI] == 简写:MOVSB
MOVSWORDPTR ES:[EDI],WORD PTR ES:[ESI]== 简写:MOVSW
MOVSDWORDPTR ES:[EDI],DWORD PTR ES:[ESI]== 简写:MOVSD
STOS 指令
STOS内存[EDI]
将AL/AX/EAX的值存储到[EDI]内存中
STOSBYTEPTR ES:[EDI] 简写:STOSB
STOSWORDPTR ES:[EDI] 简写:STOSW
STOSDWORDPTR ES:[EDI] 简写:STOSD
REP
重复操作前缀。通常会加到 MOVS STOS等指令前面,表示重复执行后面的指令,重复的次数由ECX寄存器的值决定。
可以进行如下操作:
rep movsb//重复ecx次,每次将一个字节从esi到edirep movsw//重复ecx次,每次将一个字从esi到edirep movsd//重复ecx次,每次将两个字从esi到edirep stosb//重复ecx次,每次将 al 传送到edirep stosw//重复ecx次,每次将 ax 传送到edirep stosd//重复ecx次,每次将 eax 传送到edi
DF标志
df标记寄存器可以做到esi和edi的增减
DF=0 :esi和edi递增DF=1 : esi和edi递减
配合movs和stos的指令,可以同时指定传送后,esi和edi是往高处走还是低处走
如果觉得《汇编 movs stos rep df 等指令的作用》对你有帮助,请点赞、收藏,并留下你的观点哦!