Subversion Repositories pentevo

Rev

Rev 179 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. #ifndef GETFARADDRESS_H
  2. #define GETFARADDRESS_H
  3.  
  4.  
  5. #define GET_FAR_ADDRESS(var)                          \
  6. ({                                                    \
  7.     uint_farptr_t tmp;                                \
  8.                                                       \
  9.     __asm__ __volatile__(                             \
  10.                                                       \
  11.             "ldi    %A0, lo8(%1)"           "\n\t"    \
  12.             "ldi    %B0, hi8(%1)"           "\n\t"    \
  13.             "ldi    %C0, hh8(%1)"           "\n\t"    \
  14.             "clr    %D0"                    "\n\t"    \
  15.         :                                             \
  16.             "=d" (tmp)                                \
  17.         :                                             \
  18.             "p"  (&(var))                             \
  19.     );                                                \
  20.     tmp;                                              \
  21. })
  22.  
  23. #endif
  24.  
  25.