pub enum SimInstr {
Show 15 variants
BR(CondCode, IOffset<9>),
ADD(Reg, Reg, ImmOrReg<5>),
LD(Reg, IOffset<9>),
ST(Reg, IOffset<9>),
JSR(ImmOrReg<11>),
AND(Reg, Reg, ImmOrReg<5>),
LDR(Reg, Reg, IOffset<6>),
STR(Reg, Reg, IOffset<6>),
RTI,
NOT(Reg, Reg),
LDI(Reg, IOffset<9>),
STI(Reg, IOffset<9>),
JMP(Reg),
LEA(Reg, IOffset<9>),
TRAP(TrapVect8),
}
Expand description
An enum representing all of the possible instructions in LC-3 bytecode.
The variants in this enum represent instructions after the both assembly passes. There are no notions of aliases and labels in the variants in this enum.
For instructions that map to assembly source code
(i.e., the text representation of assembly instructions), refer to asm::AsmInstr
.
Variants§
BR(CondCode, IOffset<9>)
ADD(Reg, Reg, ImmOrReg<5>)
LD(Reg, IOffset<9>)
ST(Reg, IOffset<9>)
JSR(ImmOrReg<11>)
AND(Reg, Reg, ImmOrReg<5>)
LDR(Reg, Reg, IOffset<6>)
STR(Reg, Reg, IOffset<6>)
RTI
NOT(Reg, Reg)
LDI(Reg, IOffset<9>)
STI(Reg, IOffset<9>)
JMP(Reg)
LEA(Reg, IOffset<9>)
TRAP(TrapVect8)
Implementations§
Trait Implementations§
impl Copy for SimInstr
impl Eq for SimInstr
impl StructuralPartialEq for SimInstr
Auto Trait Implementations§
impl Freeze for SimInstr
impl RefUnwindSafe for SimInstr
impl Send for SimInstr
impl Sync for SimInstr
impl Unpin for SimInstr
impl UnwindSafe for SimInstr
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more