win32汇编中,函数调用中,
push 一个数 //编译器如何区分这个数是,地址,还是常数??
call xx
可能 ‘一个数‘为字符串的地址,也可能为常数,,编译器如何区分??
你这种方法不行,,,
.386
.model flat,stdcall
option casemap :none
.data
x db 'adf'
.code
start:
xor eax,eax
;当为0 时,机器码 6A00
;当为00062250时,机器码6850220600
push 0 ;push 00062250
;机器码 6800204000
push offset x
xor eax,eax
ret
end start
你是要写的时候区分,还是问编译器怎么区分的?
写的时候区分 那好办push [addr]这是地址的,push ins这是立即数的
编译器是怎么区分,,立即数和地址的?
追答