You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
560 B
22 lines
560 B
use std::fmt::{self, Display, Formatter};
|
|
|
|
/// Register name
|
|
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
|
|
pub enum Register {
|
|
/// Argument register, read-only
|
|
Arg(u8),
|
|
/// Result register, read-only
|
|
Res(u8),
|
|
/// General purpose register
|
|
Gen(u8)
|
|
}
|
|
|
|
impl Display for Register {
|
|
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
|
|
match self {
|
|
Register::Arg(n) => write!(f, "arg{}", n),
|
|
Register::Res(n) => write!(f, "res{}", n),
|
|
Register::Gen(n) => write!(f, "r{}", n),
|
|
}
|
|
}
|
|
}
|
|
|