Advertisement
dllbridge

Untitled

Mar 7th, 2024
565
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. /*
  4. #ifdef   _MSC_VER //****************************************    For Microsoft Compiler    **********************************
  5. #ifdef   __GNUC__  //********************************************    For GCC Compiler    ***********************************
  6. #ifdef  _TINYC_   //********************************************    For TCC Compiler    **********************************
  7. */
  8.  
  9.  
  10.  
  11.  
  12. #include   <stdio.h>
  13.  
  14.  
  15. int add(int n1, int n2);
  16.  
  17.  
  18. ////////////////////////////////////////////////////////
  19. int main()
  20. {
  21.    
  22.     int n = add(2, 38);  
  23.     printf("n = %d\n", n);
  24.          
  25. return 0;
  26. }
  27.                          
  28.  
  29.  
  30.  
  31.  
  32.  
  33. #ifdef   _MSC_VER
  34. ////////////////////////////////////////////////////
  35. int add(int n1, int n2)
  36. {
  37.  
  38.     __asm
  39.     {
  40.        mov eax,  n1
  41.        mov ebx,  n2
  42.        add eax, ebx
  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.  
  75.  
  76.  
  77.  
  78.  
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement