正在加载图片...
下面是 InterlockedExchange o的汇编结果 17 InterlockedExchange(& Counter, 1Temp 0040109Amov esl, esp 0040109Cmov eax, dword ptr [ebp-8] 0040109F push eax 1Temp压栈 004010A0 push offset COunter (004299ec I Counter地址压栈 004010A5 call dword ptr[ imp InterlockedExchange@8(0042c178 004010 cmp esl, esp 004010AD call chkesp(00403940) 这个函数就一条指令 77E66AC3 mov ecx, dword ptr[esp+4];取 I Counter的地址 77E66AC7 mov edx, dword ptr [esp+8: EXITemp 77E66ACB mov eax, dword ptr Lecx 取 I Counter 77E66ACD nop 77E66ACE cmpxchg dword ptr [ecx], edx ;比较交换指令 77E66AD1 jne 77E66ACD 77E66AD3 ret 实例:2001-08-12 InterlockedIncrement. cpp下面是InterlockedExchange()的汇编结果: 17: InterlockedExchange(&lCounter, lTemp); 0040109A mov esi,esp 0040109C mov eax,dword ptr [ebp-8] 0040109F push eax ; lTemp压栈 004010A0 push offset lCounter (004299ec) ; lCounter地址压栈 004010A5 call dword ptr [__imp__InterlockedExchange@8 (0042c178)] 004010AB cmp esi,esp 004010AD call __chkesp (00403940) ; 这个函数就一条指令 77E66AC3 mov ecx,dword ptr [esp+4] ; 取lCounter的地址 77E66AC7 mov edx,dword ptr [esp+8] ; 取lTemp 77E66ACB mov eax,dword ptr [ecx] ; 取lCounter 77E66ACD nop 77E66ACE cmpxchg dword ptr [ecx],edx ; 比较交换指令 77E66AD1 jne 77E66ACD 77E66AD3 ret 8 实例:2001-08-12 InterlockedIncrement.cpp
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有