Advertisement
CosminVarlan

16. Verificarea unui caracter daca este sau nu spatiu (ASM)

Dec 16th, 2021
1,147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. uint8_t _isspace(unsigned char c){
  3.   uint8_t result;
  4.   asm(
  5.     "cpi %1, ' '  \n" // se compara spatiul cu ce e in reg %1
  6.     "breq 1f      \n" // daca este egal sare la 1
  7.     "clr %0       \n" // sterge ce se afla in result
  8.     "rjmp 2f      \n" // si sar peste instructiunea ce ar baga 1
  9.     "1: ldi %0, 1 \n" // aici baga valoarea "1" in reg %0 = result
  10.     "2:           \n"    
  11.     : "=r" (result): "r" (c)
  12.     );
  13.   return result;
  14. }
  15.  
  16.  
  17. void setup()
  18. {
  19.   Serial.begin(9600);
  20.   Serial.println(_isspace(' '));
  21.   Serial.println(_isspace('a'));
  22. }
  23.  
  24. void loop(){}
  25.  
  26.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement