點寫 Move with Zero Extend (Movzx)

本帖最後由 luckiejacky 於 2016-8-24 20:00 編輯

以下兩個方法都唔得....
NASM manual 好似無解釋..
  1. movzx    eax,[byte_103B995+eax]

  2. error: operation size not specified
複製代碼
or
  1. movzx    eax, DWORD [byte_103B995+eax]

  2. error: invalid combination of opcode and operands
複製代碼

movzx是把8位元或16位元的暫存器/記憶體的內容,變為32位元(在前面加零),然後抄寫到32位元的暫存器內。因此,你必須要用type qualifier去指定是8位元或16位元的operation。

movzx    eax, byte [byte_103B995+eax]   
或者
movzx    eax, word [byte_103B995+eax]

TOP

本帖最後由 luckiejacky 於 2016-8-24 20:48 編輯

Thanks, let's try
I see it's a 8/16bit operation...

謝謝你的幫助,已經okay了...

TOP