Assembly 指令LODS DWORD PTR DS:[ESI]是什么?

Assembly 指令LODS DWORD PTR DS:[ESI]是什么?,assembly,Assembly,我有以下装配说明(如标题所示): 在一个网站上,我发现: The lods instruction is unique among the string instructions. You will never use a repeat prefix with this instruction. The lods instruction copies the byte or word pointed at by ds:si into the al, ax, or eax regis

我有以下装配说明(如标题所示):

在一个网站上,我发现:

 The lods instruction is unique among the string instructions. 
 You will never use a repeat prefix with this instruction. 
 The lods instruction copies the byte or word pointed at by ds:si 
 into the al, ax, or eax register, after which it increments or 
 decrements the si register by one, two, or four. 
但我不明白这一点:我如何才能确定在哪个寄存器al、ax或eax中复制了字节或字


有人能给我解释一下吗?操作的大小决定了哪个寄存器是目标寄存器,以及ESI寄存器前进了多远。对于
LODS DWORD
,加载双字(32位)数据,这意味着32位EAX寄存器
LODS字
将16位放入16位AX寄存器,
LODS字节
将是8位AL。

通常缩写为“lodsb”、“lodsw”和“lodsd”。ahaaaa…ok。所以寄存器的选择取决于“DWORD”、“字”或“字节”,对吗?。这意味着当您编写“DWORD”时,将[ESI]中的值放入EAX寄存器,依此类推。。。好的,谢谢。另外,您不使用rep前缀的原因是您需要在重复之前检查加载的值。
 The lods instruction is unique among the string instructions. 
 You will never use a repeat prefix with this instruction. 
 The lods instruction copies the byte or word pointed at by ds:si 
 into the al, ax, or eax register, after which it increments or 
 decrements the si register by one, two, or four.