CosminVarlan

9. Swapping int(s) (ASM)

Dec 16th, 2021
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // in acest exemplu este interesant sa vedem cum sunt
  2. // incarcati pe rand lo8 si hi8 din %3 in %0 si din
  3. // %2 in %1
  4.  
  5. volatile int a=0xa1a2;
  6. volatile int b=0xb1b2;
  7. void setup()
  8. {
  9.   Serial.begin(9600);
  10.   asm("mov %A0, %A3 \n"
  11.       "mov %B0, %B3 \n"
  12.       "mov %A1, %A2 \n"
  13.       "mov %B1, %B2 \n"
  14.       : "=r" (a) , "=r" (b): "r" (a), "r" (b)
  15.        // A0B0       A1B1     A2B2     A3B3
  16.       );
  17.   Serial.print("a = "); Serial.println(a,HEX);
  18.   Serial.print("b = "); Serial.println(b,HEX);
  19.   // aici e ciudat nitel pentru ca se pare
  20.   // ca tinkercad are int pe 32 biti
  21. }
  22.  
  23. void loop(){}
Add Comment
Please, Sign In to add comment