1
我在Assembly中製作了一個應該反轉字符串的程序,例如「我是否看到老鼠?」但我似乎無法弄清楚錯誤意味着什麼:「使用方括號來尋址內存,ADDR或OFFSET來獲取地址: - Mov句柄,[dest + ebx]。」任何想法這意味着什麼?謝謝!使用方括號來解決內存錯誤程序集
.Data
hInst DD NULL
src DB "Was it a rat I saw? ", 0DH, 0AH
ssize DD ($ - src)
dest DB "................... ", 0DH, 0AH
handle DD NULL
.Code
start:
Invoke GetModuleHandle, NULL
Invoke GetStdHandle, STD_OUTPUT_HANDLE
Mov [hInst], Eax
Call Main
Invoke ExitProcess, Eax
Main:
Xor Eax, Eax
Ret
L1:
Mov Ecx, [ssize]
Mov Ebx, 0
L2:
Mov Al, [src + Ebx]
Mov [dest + Ebx], Al
Mov handle, [dest + Ebx]
Invoke WriteConsole, [handle]
Inc Ebx
Loop L2
真棒,感謝這麼多,佩爾鬆先生!不過現在不打印,所以有什麼想法,如果這與我如何調用WriteConsole函數有關? – m00nbeam360
閱讀文檔。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms687401(v=vs.85).aspx –
@ m00nbeam - 我不知道任何關於你正在使用的宏庫,對不起。我們只能猜測WriteConsole可能需要更多的參數。 –