??????????main?????????????

; 4    : int main() {

    push    ebp
    mov    ebp?? esp
    sub    esp?? 8;esp???????????????8????????????a??c???洢???

; 5    :    int a = 3;

    mov    DWORD PTR _a$[ebp]?? 3;??3д????????a????洢???

; 6    :    int c= add(a);//????????

    push    2;??2??????b????????
    mov    eax?? DWORD PTR _a$[ebp];???a?????????????eax????
    push    eax;??eax????????????????a???????????????????1
    call    add@@YAHHH@Z                ; ????add????
    add    esp?? 8;?????????ú???add??????????8byte???
    mov    DWORD PTR _c$[ebp]?? eax;eax????????ú?????????д??c????洢???????

; 7    :  
; 8    : }

    xor    eax?? eax
    mov    esp?? ebp
    pop    ebp
    ret    0

?????????????????????????????????a????????????

??????????add??????????????????????????б仯??

add@@YAHHH@ZPROC                    ; add

; 1    : int add(int a = 1?? int b = 2) {//????a b??????

    push    ebp
    mov    ebp?? esp

; 2    :     return a + b;

    mov    eax?? DWORD PTR _a$[ebp]
    add    eax?? DWORD PTR _b$[ebp]

; 3    : }

    pop    ebp
    ret    0
?add@@YAHHH@Z ENDP

?????????????????a????????????????????????????b???????????????????add???????????????????????????????????????a??b?????????