Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.36 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #define name(isr) #isr
  4.  
  5. #define isr_wrapper(isr_name, handler) \
  6. asm volatile ( \
  7. #isr_name":" \
  8. "call " name(isr_name##_handler) \
  9. ); \
  10. extern "C" void (isr_name)();\
  11. extern "C" void (isr_name##_handler)() { handler } \
  12.  
  13. static int i = 0;
  14.  
  15. isr_wrapper(isr0, {
  16. printf("%s %d\n", "Hello World!", i);
  17. i++;
  18. });
  19.  
  20. int main() {
  21. isr0();
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement