Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Jul 15th, 2012  |  syntax: ASM (NASM)  |  size: 0.84 KB  |  views: 36  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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