在彙編中[]的作用不是單純的c語言中指針類似,可以分爲兩種情況,對於變量來說[var]和var作用是一樣的
但是對於寄存器來說就有區別了,[eax]是eax的地址(這裏是c語言中的指針) 而不加中括號的eax就是c語言中的變量值了,理解有謬誤之處望指正
.386
.model flat, stdcall
option casemap :none
include windows.inc
include user32.inc
include kernel32.inc
include masm32.inc
includelib user32.lib
includelib kernel32.lib
includelib masm32.lib
.data
buffer byte "%d",0
num dword 12
.data?
lpszSize db 50 dup(?)
.CODE
START:
lea ebx,[num]
mov eax,[ebx]
mov eax,num
mov eax,[num]
invoke wsprintf,offset lpszSize,offset buffer,eax
invoke MessageBox,NULL, offset lpszSize, offset lpszSize,MB_OK
invoke ExitProcess,0
end START