我有以下汇编指令(您也可以在标题中看到):
LODS DWORD PTR DS:[ESI]
在一个网站上我发现了:
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中复制字节或字。
有人可以通过更多
向我解释答案 0 :(得分:2)
操作的大小决定了目标寄存器以及ESI寄存器的前进程度。对于LODS DWORD
,加载一个双字(32位)数据,这意味着32位EAX寄存器。 LODS WORD
将16位进入16位AX寄存器,LODS BYTE
将成为8位AL。