TITLE C:\_test\wincons\inc.cpp .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 ; COMDAT ??_C@_0BC@MDPP@x?$DN?$CFd?0?5y?$DN?$CFd?0?5z?$DN?$CFd?6?$AA@ _DATA SEGMENT DWORD USE32 PUBLIC 'DATA' _DATA ENDS ; COMDAT ?func@@YAXHHH@Z _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS ; COMDAT _main _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS FLAT GROUP _DATA, CONST, _BSS ASSUME CS: FLAT, DS: FLAT, SS: FLAT endif PUBLIC ?func@@YAXHHH@Z ; func PUBLIC ??_C@_0BC@MDPP@x?$DN?$CFd?0?5y?$DN?$CFd?0?5z?$DN?$CFd?6?$AA@ ; `string' EXTRN _printf:NEAR ; COMDAT ??_C@_0BC@MDPP@x?$DN?$CFd?0?5y?$DN?$CFd?0?5z?$DN?$CFd?6?$AA@ ; File C:\_test\wincons\inc.cpp _DATA SEGMENT ??_C@_0BC@MDPP@x?$DN?$CFd?0?5y?$DN?$CFd?0?5z?$DN?$CFd?6?$AA@ DB 'x=%d, y=' DB '%d, z=%d', 0aH, 00H ; `string' _DATA ENDS ; COMDAT ?func@@YAXHHH@Z _TEXT SEGMENT _x$ = 8 _y$ = 12 _z$ = 16 ?func@@YAXHHH@Z PROC NEAR ; func, COMDAT ; 7 : printf("x=%d, y=%d, z=%d\n", x, y, z); 00000 8b 44 24 0c mov eax, DWORD PTR _z$[esp-4] 00004 8b 4c 24 08 mov ecx, DWORD PTR _y$[esp-4] 00008 8b 54 24 04 mov edx, DWORD PTR _x$[esp-4] 0000c 50 push eax 0000d 51 push ecx 0000e 52 push edx 0000f 68 00 00 00 00 push OFFSET FLAT:??_C@_0BC@MDPP@x?$DN?$CFd?0?5y?$DN?$CFd?0?5z?$DN?$CFd?6?$AA@ ; `string' 00014 e8 00 00 00 00 call _printf 00019 83 c4 10 add esp, 16 ; 00000010H ; 8 : } 0001c c3 ret 0 ?func@@YAXHHH@Z ENDP ; func _TEXT ENDS PUBLIC _main ; COMDAT _main _TEXT SEGMENT _main PROC NEAR ; COMDAT ; 12 : int i=0; ; 13 : func(++i, ++i, ++i); 00000 6a 03 push 3 00002 6a 03 push 3 00004 6a 03 push 3 00006 e8 00 00 00 00 call ?func@@YAXHHH@Z ; func 0000b 83 c4 0c add esp, 12 ; 0000000cH ; 14 : return 0; 0000e 33 c0 xor eax, eax ; 15 : } 00010 c3 ret 0 _main ENDP _TEXT ENDS END