我想在組件中反轉數組,但是我無法成功地這樣做。該程序工作正常雙字,但現在不工作的話。我使用visual studio調試器進行了檢查。最後的結果是98,78,10,00,36這是錯誤的。我的代碼是在組件中反轉數組(masm)
.386
.model flat,stdcall
ExitProcess PROTO,dwExitCode:DWORD
.data
intarray WORD 10h,20h,36h,78h,98h
.code
main PROC
mov esi,OFFSET intarray
mov edi,OFFSET intarray
add edi,SIZEOF intarray
sub edi,TYPE intarray
mov ecx,LENGTHOF intarray/2
L1:
mov eax,[ESI]
mov ebx,[EDI]
mov [EDI],eax
mov[ESI],ebx
add esi,TYPE intarray
sub edi,TYPE intarray
loop L1
invoke ExitProcess,0
main ENDP
END main
嘗試搜索這個[非常常見的問題( http://stackoverflow.com/search?q=reverse+array+%5Bassembly%5D)。你的代碼中的一個錯誤是你正在加載/存儲雙字,但是你的數組是單詞。 –
我沒有在任何地方找到它。 –
這就是爲什麼我問。我不只是「愛」提問。 –