Cooler_

old math 2011

Jun 30th, 2014
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.75 KB | None | 0 0
  1. #include <stdio.h>
  2. #define w printf
  3. #define foo (int,int)
  4. #define num "%d\x0a"
  5.  
  6. int add foo;
  7. int sub foo;
  8. int mul foo;
  9. int div foo;
  10.  
  11. void
  12. main(void)
  13. {
  14.     register int a=5,b=30;
  15.     w("A=%d B=%d \x0a",a,b);
  16.     w(num, add(a,b))&w(num, sub(a,b));
  17.     w(num, mul(a,b))&w(num, div(a,b));
  18. }
  19.  
  20. int
  21. add(int a, int b)
  22. {  
  23.     __asm__("movl 8(%ebp), %ebx\n"
  24.         "movl 12(%ebp), %eax\n"
  25.         "addl %ebx, %eax\n");
  26. }
  27.  
  28. int
  29. sub(int a, int b)
  30. {  
  31.     __asm__("movl 8(%ebp), %ebx\n"
  32.         "movl 12(%ebp), %eax\n"
  33.         "subl %ebx, %eax\n");
  34. }
  35.  
  36. int
  37. mul(int a, int b)
  38. {  
  39.     __asm__("movl 8(%ebp), %ebx\n"
  40.         "movl 12(%ebp), %eax\n"
  41.         "imul %ebx, %eax\n");
  42. }
  43.  
  44. int
  45. div(int a, int b)
  46. {  
  47.     __asm__(    "movl 8(%ebp), %ebx\n"
  48.         "movl 12(%ebp), %eax\n"
  49.         "divl %ebx, %eax\n");
  50. }
Advertisement
Add Comment
Please, Sign In to add comment