-
-
masm32\m32lib目录下strlen.asm文件中的疑惑[求助]
-
发表于:
2006-10-3 10:45
6495
-
masm32\m32lib目录下strlen.asm文件中的疑惑[求助]
在masm32\m32lib目录下发现strlen.asm文件,有一段内容如下
.....................;我省略了一部分
StrLen proc item:DWORD
mov eax,[esp+4] ; get pointer to string
push ebx
lea edx,[eax+3] ; pointer+3 used in the end
.....................;我省略了一部分
由于初学WIN32汇编,实在不知
mov eax,[esp+4]取的是什么?
不是说语言类型为stdcall的子程序编译器会在前面加上
PUSH BP
MOV BP,SP
后面加上leave的吗?
那执行invoke StrLen,item后堆栈的内容就是
|BP |<----SP
|返回地址|
|item |
mov eax,[esp+4]就是取的返回地址了啊?
又怎么会是 get pointer to string
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课