1
2
3
4
5
6
7
8
9
10
11
12
13
//! Program counter

use crate::asm;

/// Reads the CPU register
#[inline(always)]
pub fn read() -> u16 {
    let r;
    unsafe {
        asm!("mov R0, {0}", out(reg) r, options(nomem, nostack, preserves_flags));
    }
    r
}