1. flap_1:
  2.     #i've to do ((X/2)*K1) 
  3.        
  4.     movl    %ebx, -4(%ebp)      #X to stack
  5.     movl    $2, -8(%ebp)        #2 to stack
  6.     movl    K1,%eax         #move K1 to eax
  7.     movl    %eax, -12(%ebp)     #K1 to stack
  8.     fildl   -12(%ebp)       #cast to float
  9.     fildl   -8(%ebp)       
  10.     fildl   -4(%ebp)
  11.     fdivp   %st(0), %st(1)      #X/2
  12.     fmulp   %st(0), %st(1)      #(X/2)*K1
  13.    
  14.     fist    -4(%ebp)        #cast to int
  15.     movl    -4(%ebp),%eax       #move result to eax
  16.     movl    %eax,TMP1       #move to TMP1
  17.    
  18.     #i've to do ((Y/2)*K2)
  19.  
  20.     movl    %ecx,-4(%ebp)       #Y to stack
  21.     movl    $2,-8(%ebp)     #2 to stack
  22.     movl    K2,%eax         #move K2 to eax
  23.     movl    %eax,-12(%ebp)      #K2 to stack
  24.     fildl   -12(%ebp)       #cast to float
  25.     fildl   -8(%ebp)
  26.     fildl   -4(%ebp)
  27.     fdivp   %st(0),%st(1)       #Y/2
  28.     fmulp   %st(0),%st(1)       #(Y/2)*K2
  29.    
  30.     fist    -4(%ebp)        #cast to int
  31.     movl    -4(%ebp),%eax   #move result to eax
  32.     addl    TMP1,%eax       #add the two parts ((X/2)*K1)+((Y/2)*K2
  33.    
  34.     jmp end