    10: 
    11:	void f() 
    12:	{ 
    13:	   int x = 123; 
    14:	   printf("x == %d\n",  x); 
    15:	} 
    
    
     

    e      VOIDKASM.     
       17.1  
 -S.    VOIDFM.ASM (   )  
 17.2.        . 

     17.2. VOIDFM.ASM (     VOIDF.CPP) 

    1:	_ segment byte public 'CODE'	;    
    2:	;
    3:	; main() 
    4:	; 
    5:	assume cs:_TEXT	;  
    6:	_main proc near	;  main() 
    7:	push bp	;   
    8:	mov bp, sp	; bp  sp 
    9:	; 
    10:	;{ 
    11:	;f(); 
    12: 	;
    13:	call near ptr @f$qv	;   f() 
    14: 	;
    15:	;return 0; 
    16: 	;
    17:	xor ax, ax	;   -    0 
    18:	jmp short 1058	;  ! 
    19:	91958: 
    20: 	;
    21:	;} 
    22: 	;
    23:	pop bp	 bp 
    24:	ret	    
    25:	_main endp	  main() 
    26:	; 
    27:	; void f(void) 
    28:	; 
    29:	assume cs:_TEXT	  
    30:	@f$qv proc near	  f() 
    31:	push bp	  bp 
    32:	mov bp.sp	 bp  sp 
    33:	sub sp,2	    
    34: 	;
    35:	;{ 
    36.	;int x = 123; 
    37: 	;
    38:	mov word ptr [bp-2],123	;  123   
    39: 	;
    40:	;printf("x == %d\n", x); 
    41:	; 
    42:	push word ptr [bp-2]	   
    43:	mov ax, offset DGROUP:s@	   s, 
    44:	push ax	;    
    45:	call near ptr _printf	;  printf() 
    46:	pop ex	;    
    47:	pop ex	;    
    48: 	;
    49:	;} 
    50: 	;
    51:	mov sp.bp	;    
    52:	pop bp	;   bp 
    53:	ret	;     
    54:	ef$qv endp 
    55:	?debug  9 .	;   
    56:	?debug  FA00000000	;  Turbo Debugger 

    
   440      IV.   
