简单地说rep stosb就是从EDI所指的内存开始,将连续的ECX个字节写成AL的内容,多用于清零等
举个例子:假设此时我声明了一个变量
szBuffer db ‘hello world’, 0
我想通过一个循环将其hello world的这个字符串填充为0.
那么此刻我们的代码该怎么写,大家先思考下。
呵呵,那我就来给大家演示下:
mov edi, szBuffer
xor eax, eax
mov ecx, 11
cld
rep stosb
此刻执行完以上指令后,就会将我们szBuffer标号处(数据偏移)的内存单元用al来进行填充掉。
挺好