diff options
author | 2016-10-04 13:48:57 -0500 | |
---|---|---|
committer | 2016-10-04 13:48:57 -0500 | |
commit | b49c787497c7cf6b484af7b9fe11480c25d2d81b (patch) | |
tree | 78d7395c5067518801a34145ec0f8f5ae3db9575 | |
parent | cf4c18f93dd51da21da2cc08315fb61c0ecbb344 (diff) | |
download | cortex-m-b49c787497c7cf6b484af7b9fe11480c25d2d81b.tar.gz cortex-m-b49c787497c7cf6b484af7b9fe11480c25d2d81b.tar.zst cortex-m-b49c787497c7cf6b484af7b9fe11480c25d2d81b.zip |
fix read/write operation on special registers
-rw-r--r-- | src/register.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/register.rs b/src/register.rs index 7df068f..dbd3bed 100644 --- a/src/register.rs +++ b/src/register.rs @@ -38,7 +38,7 @@ macro_rules! sr { let r: u32; match () { #[cfg(target_arch = "arm")] - () => asm!(concat!("msr ", stringify!($name), ",$0") : "=r"(r) ::: "volatile"), + () => asm!(concat!("mrs ", "$0,", stringify!($name)) : "=r"(r) ::: "volatile"), #[cfg(not(target_arch = "arm"))] () => r = 0, @@ -59,7 +59,7 @@ macro_rules! srw { pub unsafe fn write(r: u32) { match r { #[cfg(target_arch = "arm")] - _ => asm!(concat!("mrs ", "$0,", stringify!($name)) :: "r"(r) ::: "volatile"), + _ => asm!(concat!("msr ", stringify!($name), ",$0") :: "r"(r) ::: "volatile"), #[cfg(not(target_arch = "arm"))] _ => {}, |