我在 Assembly 中编写了一个程序,它应该反转一个字符串,比如“我看到的是一只老鼠吗?” 但我似乎无法弄清楚错误的含义:“使用方括号来寻址内存,ADDR 或 OFFSET 来获取地址:- 移动句柄,[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