Files
machine/Source/Instruction.rs
2021-12-26 18:44:17 -03:00

29 lines
570 B
Rust

use crate::Types::Byte;
use crate::{Machine, PayloadType};
pub struct Instruction {
pub code: Byte,
pub name: String,
pub payload: PayloadType,
pub function: InstructionFunction,
}
pub type InstructionFunction = fn(machine: &mut Machine) -> bool;
impl Instruction {
#[inline]
pub fn New(
code: Byte,
name: &str,
payload: PayloadType,
function: InstructionFunction,
) -> Self {
Self {
code,
name: name.to_string(),
payload,
function,
}
}
}