Advertisement
halfspin8

ARM C code

Sep 15th, 2023 (edited)
732
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.46 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #pragma GCC push_options
  4. #pragma GCC optimize("Og")
  5.  
  6. int func(void) {
  7.     register int R0 asm ("r0") = 1;
  8.     register int R1 asm ("r1") = 0xC;
  9.     register int R2 asm ("r2") = 0;
  10.     register int R3 asm ("r3") = 0;
  11.  
  12.     while (R1 != 0) {
  13.         if ((R1 & 1) != 0) {
  14.             R2 += R0;
  15.         }
  16.         R0 <<= 1;
  17.         R1 >>= 1;
  18.     }
  19.    
  20.     return R2;
  21. }
  22.  
  23. int main(void) {
  24.     register int result = func();
  25.     printf("R2 = 0x%X\n", result);
  26.     return 0;
  27. }
  28.  
  29. #pragma GCC pop_options
  30.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement