2
這是一個與以前的帖子相同的問題。我們的目標是獲取2,4,6,8,10的BYTE數組,並通過LOOP將它們插入到DWORD數組中以顯示它們。這是我最近的嘗試。將一個BYTE數組讀入一個帶有循環的DWORD數組
INCLUDE Irvine32.inc
.data
Array1 BYTE 2,4,6,8,10
Array2 DWORD 5 dup(0)
.code
main PROC
mov esi, OFFSET Array1 ;esi = byteArray
mov edi, OFFSET Array2 ;edi = dwordArray
mov ecx, 5 ;counter of loop
DAWG:
mov eax, [esi] ;attempting to use movzx causes errors
mov [edi], eax
inc esi
add edi, 4
loop DAWG
有什麼建議嗎?試圖用我的裝配知識(雙關語意圖)來弄明白。謝謝閱讀。
這一個工程:'MOVZX EAX,字節PTR [ESI]' 。 – rkhb
的確如此。謝謝!據我所知,爲什麼'byte ptr'使聲明有效? – caboose103
彙編程序必須知道有多少[esi]要加載到'EAX'中,因爲爲此目的有不同的機器指令。 'byte ptr'表示:取一個字節。 – rkhb