30
A
回答
43
对于ecx
重复,存储的eax
内容到其中edi
点,通过每次4个字节递增或递减edi
(取决于方向标志) 。通常,这用于memset
类型的操作。
通常,该指令简写为rep stosd
。有经验的汇编程序员只需看到上面提到的所有细节。 :-)
ETA的完整性(感谢PHIS):每次迭代时,ecx
被减1,并且当它达到零时的循环停止。对于stos
,您只会观察到ecx
最后被清除。但是,对于scas
等,其中使用repz
/repnz
前缀,如果操作在耗尽ecx
字节/字/发起方之前停止,则ecx
可以大于零。
在你问之前,scas
用于执行strchr
类型的操作。 :-P
相关问题
- 1. “leal 0x10(%ebx),%eax”x86汇编指令中的0x10是什么?
- 2. 8051汇编程序的指令序列是做什么的?
- 3. “锁”指令在x86汇编中意味着什么?
- 4. 汇编语言x86 JL指令
- 5. C inline汇编x86 fbstp指令
- 6. x86汇编-masm32:无效的指令操作数
- 7. 汇编:`stos m32`和`stosd`助记符有什么区别?
- 8. gnu程序集中.byte汇编程序指令的用途是什么?
- 9. x86汇编程序:shl和其他指令
- 10. 什么样的C++代码可以生成这个x86汇编指令?
- 11. x86汇编指令REPE/REPZ和REPNE/REPNZ是否相等?
- 12. 如何使用div指令查找x86汇编中的余数?
- 13. 顺序和障碍:x86上'lwsync'的等效指令是什么?
- 14. 汇编指令转换是做什么的?
- 15. x86汇编替代阵列
- 16. x86 intel操作码汇编
- 17. 在x86汇编中的“imul”指令的不熟悉的语法
- 18. x86汇编程序问题
- 19. 汇编程序和跳转指令(它是如何工作的)
- 20. 什么是一些好的x86汇编语言资源?
- 21. 什么是[汇编:InternalsVisibleTo(“MyAssembly”)]?声明,指令......?
- 22. smulwb汇编指令
- 23. 这个x86汇编程序是如何工作的
- 24. x86 ENTER指令有什么问题?
- 25. x86指令编码表
- 26. 什么是序言指令?
- 27. 指针Deferencing在x86汇编代码
- 28. 汇编x86命令行参数
- 29. AVR汇编程序中的SBIC指令
- 30. 在Intel x86汇编手册中,00+是什么意思?
你能举个例子吗? – COMer 2010-09-29 06:16:08
@COMer - 它已经在anwser中:像memset - 它用给定的值(在eax中)填充指定的(ecx)内存量(在[edi])。 – PhiS 2010-09-29 07:05:43
@Chris Jester-Young - 为了完整起见,我建议你提一下,它也会减少ecx每次迭代一次,直到ecx达到0. – PhiS 2010-09-29 07:11:27