汇编中的lodsb和stosb、lodsd和stosd指令

汇编语言中,串操作指令LODSB/LODSW是块读出指令。

具体操作是把SI指向的存储单元读入累加器,其中LODSB是读入AL,LODSW是读入AX中,然后SI自动增加或减小1或2位.当方向标志位DF=0时,则SI自动增加;DF=1时,SI自动减小。

与LODSB/LODSW类似的,STOSB/STOSW是块写入指令,其具体操作是把累加器的内容写入到指向的存储单元中。其中STOSB是从AL中读入,STOSW是从AX中读入,然后DI自动增加或减小1或2位.当方向标志位DF=0时,则DI自动增加;DF=1时,DI自动减小。

lodsb指令,将esi指向的地址处的数据取出来赋给AL寄存器,esi=esi+1;
lodsw指令则取得是一个字。
lodsd指令,取得是双字节,即mov eax,[esi],esi=esi+4;

stosb指令,将AL寄存器的值取出来赋给edi所指向的地址处。mov [edi],AL;edi=edi+1;
stosw指令去的是一个字。
stosd指令,取得是双字节,mov [edi],eax;edi=edi+4;

原文地址:https://www.cnblogs.com/laohaozi/p/12537592.html