fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void ENA_REG_WRITE8(unsigned char* from, unsigned char* to)
  5. {
  6. *to=*from;
  7. }
  8. void ENA_REG_WRITE32(unsigned long* from, unsigned long* to)
  9. {
  10. *to=*from;
  11. }
  12.  
  13. int main() {
  14. unsigned char x[5]={11,10,9,8,7};
  15. unsigned char y[5]={};
  16. unsigned char* from_byte = x;
  17. unsigned char* to_byte = y;
  18. unsigned long* from_word = nullptr;
  19. unsigned long* to_word = nullptr;
  20. long n = 0;
  21. switch (0 & 0b11) {
  22. case 3: ENA_REG_WRITE8(from_byte++, to_byte++);
  23. case 2: ENA_REG_WRITE8(from_byte++, to_byte++);
  24. case 1: ENA_REG_WRITE8(from_byte++, to_byte++);
  25. case 0: from_word=(unsigned long*)from_byte; to_word=(unsigned long*)to_byte; while(n --> 0) ENA_REG_WRITE32(from_word++, to_word++);
  26. }
  27. for(auto i : y)
  28. {
  29. cout << (unsigned)i << " ";
  30. }
  31. return 0;
  32. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
0 0 0 0 0