Advertisement
CosminVarlan

8. Lista parametri din ASM(....): output,input (ASM)

Dec 16th, 2021
979
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. parametrul "=r" (a) este format astfel:
  3.    "=" ca sa putem scrie
  4.     r - ca sa asocieze un registru automat
  5.         (si va fi registrul care identificat cu %0 - ca e primul)
  6.     (a) - adresa variabilei a
  7.    
  8. parametrul "M" (B)
  9.    M - indica o constanta
  10.    B va fi inlocuit de compilator cu 123 (care e in #define)
  11.    
  12.   de fapt ce face "programul" este sa incarce continutul
  13.   registrului %1 care e al doilea din lista in %0 care e primul
  14. */
  15.  
  16. #define B 123
  17. volatile byte a=0;
  18. void setup()
  19. {
  20.   Serial.begin(9600);
  21.   asm("ldi %0, %1 \n"
  22.       : "=r" (a)
  23.       : "M" (B)
  24.       );
  25.   Serial.println(a); // 123
  26. }
  27.  
  28. void loop(){}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement