Advertisement
dllbridge

Untitled

Mar 4th, 2024
537
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1.  
  2. /*
  3. #ifdef   _MSC_VER //****************************************    For Microsoft Compiler    **********************************
  4. #ifdef   _GNUC_  //********************************************    For GCC Compiler    ***********************************
  5. #ifdef  _TINYC_   //********************************************    For TCC Compiler    **********************************
  6. */
  7.  
  8.  
  9.  
  10.  
  11. #include   <stdio.h>
  12.  
  13.  
  14. int add(int n1, int n2);
  15.  
  16.  
  17. ////////////////////////////////////////////////////////
  18. int main()
  19. {
  20.    
  21.     int n = add(2, 38);  
  22.     printf("n = %d\n", n);
  23.          
  24. return 0;
  25. }
  26.                          
  27.  
  28.  
  29.  
  30.  
  31.  
  32. #ifdef   _MSC_VER
  33. ////////////////////////////////////////////////////
  34. int add(int n1, int n2)
  35. {
  36.  
  37.     __asm
  38.     {
  39.        mov eax,  n1
  40.        mov ebx,  n2
  41.        add eax, ebx
  42.        
  43.  
  44.     }
  45.  
  46.  
  47. }
  48. #endif
  49.  
  50.  
  51.  
  52. #ifdef   __GNUC__
  53. ////////////////////////////////////////////////////
  54. int add(int n1, int n2)
  55. {
  56.  
  57.     __asm__
  58.     (
  59.        " mov eax,  %0  ;"
  60.        " mov ebx,  %1  ;"
  61.        " add eax, ebx  ;"
  62.        " mov  %0, eax  ;"      
  63.        ::
  64.        "m"(n1),
  65.        "m"(n2)     
  66.        :"%eax",
  67.         "%ebx"     
  68.     );
  69.  
  70.  
  71. return n1;
  72. }
  73.  
  74. #endif
  75.  
  76.  
  77.  
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement