home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / asm-m68k / movs.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.4 KB  |  56 lines

  1. #ifndef  __MOVS_H__
  2. #define __MOVS_H__
  3.  
  4. /*
  5. ** movs.h
  6. **
  7. ** Inline assembly macros to generate movs & related instructions
  8. */
  9.  
  10. /* Set DFC register value */
  11.  
  12. #define SET_DFC(x) \
  13.         __asm__ __volatile__ (" movec %0,%/dfc" : : "d" (x));
  14.  
  15. /* Get DFC register value */
  16.  
  17. #define GET_DFC(x) \
  18.         __asm__ __volatile__ (" movec %/dfc, %0" : "=d" (x) : );
  19.  
  20. /* Set SFC register value */
  21.  
  22. #define SET_SFC(x) \
  23.         __asm__ __volatile__ (" movec %0,%/sfc" : : "d" (x));
  24.  
  25. /* Get SFC register value */
  26.  
  27. #define GET_SFC(x) \
  28.         __asm__ __volatile__ (" movec %/sfc, %0" : "=d" (x) : );
  29.  
  30. #define SET_VBR(x) \
  31.         __asm__ __volatile__ (" movec %0,%/vbr" : : "r" (x));
  32.  
  33. #define GET_VBR(x) \
  34.         __asm__ __volatile__ (" movec %/vbr, %0" : "=g" (x) : );
  35.  
  36. /* Set a byte using the "movs" instruction */
  37.  
  38. #define SET_CONTROL_BYTE(addr,value) \
  39.         __asm__ __volatile__ (" movsb %0, %1@" : : "d" (value), "a" (addr));
  40.  
  41. /* Get a byte using the "movs" instruction */
  42.  
  43. #define GET_CONTROL_BYTE(addr,value) \
  44.         __asm__ __volatile__ (" movsb %1@, %0" : "=d" (value) : "a" (addr));
  45.  
  46. /* Set a (long)word using the "movs" instruction */
  47.  
  48. #define SET_CONTROL_WORD(addr,value) \
  49.         __asm__ __volatile__ (" movsl %0, %1@" : : "d" (value), "a" (addr));
  50.  
  51. /* Get a (long)word using the "movs" instruction */
  52.  
  53. #define GET_CONTROL_WORD(addr,value) \
  54.         __asm__ __volatile__ (" movsl %1@, %0" : "=d" (value) : "a" (addr));
  55. #endif
  56.