1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
//! Process Stack Pointer /// Reads the CPU register #[inline(always)] pub fn read() -> u32 { let r; unsafe { asm!("mrs $0,PSP" : "=r"(r) : : : "volatile"); } r } /// Writes `bits` to the CPU register #[inline(always)] pub unsafe fn write(bits: u32) { asm!("msr PSP,$0" : : "r"(bits) : : "volatile"); }