diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2002-04-21 22:25:17 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2002-04-21 22:25:17 +0000 |
| commit | 679888feb49c8a2e453a0fe4aeb50b439903ec95 (patch) | |
| tree | 392c2e2b43c968b9d2b08aafecd477d7f524cd0d | |
| parent | f761de4c32e51b8ddcad7a4417e5a50bdf0a7d13 (diff) | |
| download | rockbox-679888feb49c8a2e453a0fe4aeb50b439903ec95.zip rockbox-679888feb49c8a2e453a0fe4aeb50b439903ec95.tar.gz rockbox-679888feb49c8a2e453a0fe4aeb50b439903ec95.tar.bz2 rockbox-679888feb49c8a2e453a0fe4aeb50b439903ec95.tar.xz | |
Replaced SWAB macros with register-safe versions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@165 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/system.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/firmware/system.h b/firmware/system.h index 8ffc754..342b60c 100644 --- a/firmware/system.h +++ b/firmware/system.h @@ -38,14 +38,20 @@ #define SWAB32(x) (x) #else #define SWAB16(x) \ - (((x & 0x00ff) << 8) | \ - ((x & 0xff00) >> 8)) +({ \ + unsigned short __x = x; \ + (((__x & 0x00ff) << 8) | \ + ((__x & 0xff00) >> 8)); \ +}) #define SWAB32(x) \ - (((x & 0x000000ff) << 24) | \ - ((x & 0x0000ff00) << 8) | \ - ((x & 0x00ff0000) >> 8) | \ - ((x & 0xff000000) >> 24)) +({ \ + unsigned long __x = x; \ + (((__x & 0x000000ff) << 24) | \ + ((__x & 0x0000ff00) << 8) | \ + ((__x & 0x00ff0000) >> 8) | \ + ((__x & 0xff000000) >> 24)); \ +}) #endif #define nop \ |