background image

          int 21h    
           

     
   

 datacate proc near     

          push cx;                                                           

          dec cx    
          lea si,buf+2   

     tt1: inc si    
          loop tt1    

          ;lea si,cx[di]    
          pop cx    

         
          

          mov dh,30h    
          mov bl,10   

          mov ax,1   
      l1: push ax    

          sub  byte ptr  [si],dh    
          mul  byte ptr [si]    

          add w,ax    
          pop ax    

          mul bl    
          dec si    

          loop l1    
          ret    

 datacate endp    
   

   
   ifyears proc near    

           push  bx    
           push  cx    

           push  dx    
           mov ax,w    

           mov   cx,ax    
           mov  dx,0   

           mov  bx,4   
           div  bx    

           cmp  dx,0   
           jnz  lab1    

           mov   ax,cx    
           mov  bx,100   

           div  bx    
           cmp dx,0   

           jnz  lab2    
           mov  ax,cx    

           mov bx,400   
           div  bx    

           cmp  dx,0   
           jz  lab2    

     lab1: clc    
           jmp lab3    

     lab2: stc    
     lab3: pop  dx    

           pop  cx    
           pop  bx    

           ret    
   ifyears endp