int Add(int* a, int &b) {
return *a + b;
}
int a = 3;
int b = 4;
int c = Add(&a, b);
00950030 /$ 55 push ebp ; INT .Add(a,b)
00950031 |. 8BEC mov ebp, esp
00950033 |. 8B45 08 mov eax, dword ptr [ebp+8]
00950036 |. 8B00 mov eax, dword ptr [eax]
00950038 |. 8B4D 0C mov ecx, dword ptr [ebp+0C]
0095003B |. 0301 add eax, dword ptr [ecx]
0095003D |. 5D pop ebp
0095003E \. C3 retn
00950056 |. C745 F8 03000000 mov dword ptr [ebp-8], 3 ; int a = 3;
0095005D |. C745 FC 04000000 mov dword ptr [ebp-4], 4 ; int b = 4;
00950064 |. 8D45 FC lea eax, [ebp-4]
00950067 |. 50 push eax ; /b => offset LOCAL.1
00950068 |. 8D4D F8 lea ecx, [ebp-8] ; |
0095006B |. 51 push ecx ; |a => offset LOCAL.2
0095006C |. E8 BFFFFFFF call .Add ; \Add