请教关于printf函数的汇编代码问题!
printf:00403250 push ebp
00403251 mov ebp,esp
00403253 sub esp,0Ch
00403256 push ebx
00403257 push esi
00403258 push edi
00403259 lea eax,
0040325C mov dword ptr ,eax ??这里的arglist是什么意思?
0040325F cmp dword ptr ,0 ??这里的format是什么意思?
00403263 jne printf+33h (00403283) ??printf是什么意思?
00403265 push offset string "format != NULL" (004247b0) ??format != NULL不明白
0040326A push 0
0040326C push 36h
0040326E push offset string "printf.c" (004247a4) ??
00403273 push 2
00403275 call _CrtDbgReport (00403cd0) ??
0040327A add esp,14h
0040327D cmp eax,1
00403280 jne printf+33h (00403283)
00403282 int 3
00403283 xor ecx,ecx
00403285 test ecx,ecx
00403287 jne printf+0Fh (0040325f)??
00403289 push offset __iob+20h (00428d28)??
0040328E call _stbuf (00408090) ??
00403293 add esp,4
00403296 mov dword ptr ,eax ??
00403299 mov edx,dword ptr ??
0040329C push edx
0040329D mov eax,dword ptr ??
004032A0 push eax
004032A1 push offset __iob+20h (00428d28) ??
004032A6 call _output (004082b0)??
004032AB add esp,0Ch
004032AE mov dword ptr ,eax ??
004032B1 push offset __iob+20h (00428d28)??
004032B6 mov ecx,dword ptr ??
004032B9 push ecx
004032BA call _ftbuf (004081f0) ??
004032BF add esp,8
004032C2 mov eax,dword ptr ??
004032C5 pop edi
004032C6 pop esi
004032C7 pop ebx
004032C8 mov esp,ebp
004032CA pop ebp
004032CB ret
感觉上面我不知道的不是汇编代码吧!求牛人解答!
么么哒~@康小泡 {:9_240:}都是参数,jne是跳转到printf函数去。然后执行pritnf函数 本帖最后由 ufo9876 于 2016-1-5 19:56 编辑
arglist和format明显是两个地址标号,应该不会太远,在段内吧
offset (段内短转移操作符)string(这更证明这单词是个段内标号) "format != NULL" (004247b0) 后面这句是需要显示的字符串 hahahahhaha!!!!!
页:
[1]