Advertisement
dllbridge

Untitled

Mar 3rd, 2024
801
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.16 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(20, 5);  
  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. #endif
  46.  
  47.  
  48.  
  49. #ifdef   __GNUC__
  50. ////////////////////////////////////////////////////
  51. int add(int n1, int n2)
  52. {
  53.  
  54.     __asm__
  55.     (
  56.        " mov eax,  %0  ;"
  57.        " mov ebx,  %1  ;"
  58.        " add eax, ebx  ;"
  59.        " mov  %0, eax  ;"      
  60.        ::
  61.        "m"(n1),
  62.        "m"(n2)     
  63.        :"%eax",
  64.         "%ebx"     
  65.     );
  66.  
  67.  
  68. return n1;
  69. }
  70.  
  71. #endif
  72.  
  73.  
  74.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement