TITLE basepointer.c .386P include listing.inc if @Version gt 510 .model FLAT else _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS _DATA SEGMENT DWORD USE32 PUBLIC 'DATA' _DATA ENDS CONST SEGMENT DWORD USE32 PUBLIC 'CONST' CONST ENDS _BSS SEGMENT DWORD USE32 PUBLIC 'BSS' _BSS ENDS _TLS SEGMENT DWORD USE32 PUBLIC 'TLS' _TLS ENDS FLAT GROUP _DATA, CONST, _BSS ASSUME CS: FLAT, DS: FLAT, SS: FLAT endif PUBLIC _f _TEXT SEGMENT _i$ = 8 _j$ = -4 _f PROC NEAR ; File basepointer.c ; Line 4 push ebp mov ebp, esp sub esp, 8 ; Line 6 mov eax, DWORD PTR _i$[ebp] mov DWORD PTR _j$[ebp], eax ; Line 8 mov esp, ebp pop ebp ret 0 _f ENDP _TEXT ENDS PUBLIC _g _TEXT SEGMENT _i$ = 8 _j$ = -4 _k$ = -8 _g PROC NEAR ; Line 11 push ebp mov ebp, esp sub esp, 8 ; Line 13 mov eax, DWORD PTR _j$[ebp] push eax call _f add esp, 4 ; Line 14 mov ecx, DWORD PTR _i$[ebp] mov DWORD PTR _k$[ebp], ecx ; Line 16 mov esp, ebp pop ebp ret 0 _g ENDP _TEXT ENDS PUBLIC _main _TEXT SEGMENT _main PROC NEAR ; Line 19 push ebp mov ebp, esp ; Line 20 push 2 call _g add esp, 4 ; Line 21 pop ebp ret 0 _main ENDP _TEXT ENDS END