ifndef ??version ?debug macro endm publicdll macro name public name endm $comm macro name,dist,size,count comm dist name:BYTE:count*size endm else $comm macro name,dist,size,count comm dist name[size]:BYTE:count endm endif ?debug V 300h ?debug S "p2_prog.c" ?debug C E9766C752B0970325F70726F672E63 ?debug C E94019CA181C5A3A5C53575C444F535C42435C494E434C5544455C+ ?debug C 737464696F2E68 ?debug C E94019CA181C5A3A5C53575C444F535C42435C494E434C5544455C+ ?debug C 5F646566732E68 ?debug C E94019CA181D5A3A5C53575C444F535C42435C494E434C5544455C+ ?debug C 5F6E66696C652E68 ?debug C E94019CA181C5A3A5C53575C444F535C42435C494E434C5544455C+ ?debug C 5F6E756C6C2E68 _TEXT segment byte public 'CODE' _TEXT ends DGROUP group _DATA,_BSS assume cs:_TEXT,ds:DGROUP _DATA segment word public 'DATA' d@ label byte d@w label word _DATA ends _BSS segment word public 'BSS' b@ label byte b@w label word _BSS ends _TEXT segment byte public 'CODE' ; ; void main(void) { ; assume cs:_TEXT _main proc near push bp mov bp,sp sub sp,6 ; ; int a,b,c; ; ; a = 10; ; mov word ptr [bp-2],10 ; ; b = 20; ; mov word ptr [bp-4],20 ; ; c = soucet(a,b); ; push word ptr [bp-4] push word ptr [bp-2] call near ptr _soucet pop cx pop cx mov word ptr [bp-6],ax ; ; printf("%i\n",c); ; push word ptr [bp-6] mov ax,offset DGROUP:s@ push ax call near ptr _printf pop cx pop cx ; ; ; } ; mov sp,bp pop bp ret _main endp ?debug C E9 ?debug C FA00000000 _TEXT ends _DATA segment word public 'DATA' s@ label byte db '%i' db 10 db 0 _DATA ends _TEXT segment byte public 'CODE' _TEXT ends public _main extrn _soucet:near extrn _printf:near _s@ equ s@ end