[−][src]Enum quake3_qvm::bytecode::Instruction
A QVM instruction.
Variants
Undefined instruction.
Used for padding the code segment. Should not occur at runtime.
No-operation (NOP).
Software breakpoint.
ENTER(FrameSize)
Enter a procedure, adjusting stack.
LEAVE(FrameSize)
Leave a procedure, adjusting stack.
Call a procedure.
Push stack.
Pop stack.
CONST(Literal)
Push constant onto stack.
LOCAL(FrameOffset)
Get address of frame local variable or argument.
Jump to top of stack.
EQ(Address)
Check (signed integer) equality, jump to Address
if true.
NE(Address)
Check (signed integer) inequality, jump to Address
if true.
LTI(Address)
Check (signed integer) less-than, jump to Address
if true.
LEI(Address)
Check (signed integer) less-than or equal-to, jump to Address
if true.
GTI(Address)
Check (signed integer) greater-than, jump to Address
if true.
GEI(Address)
Check (signed integer) greater-than or equal-to, jump to Address
if true.
LTU(Address)
Check (unsigned integer) less-than, jump to Address
if true.
LEU(Address)
Check (unsigned integer) less-than or equal-to, jump to Address
if true.
GTU(Address)
Check (unsigned integer) greater-than, jump to Address
if true.
GEU(Address)
Check (unsigned integer) greater-than or equal-to, jump to Address
if true.
EQF(Address)
Check (float) equality, jump to Address
if true.
NEF(Address)
Check (float) inequality, jump to Address
if true.
LTF(Address)
Check (float) less-than, jump to Address
if true.
LEF(Address)
Check (float) less-than or equal-to, jump to Address
if true.
GTF(Address)
Check (float) greater-than, jump to Address
if true.
GEF(Address)
Check (float) greater-than or equal-to, jump to Address
if true.
Load 1-octet value.
Load 2-octet value.
Load 4-octet value.
Store 1-octet value.
Store 2-octet value.
Store 4-octet value.
ARG(ArgOffset)
Store value into marshalling space.
BLOCK_COPY(BlockSize)
Copy a block of memory.
Sign-extend 8-bit.
Sign-extend 16-bit.
Negate (signed integer).
Add.
Subtract.
Divide (signed integer).
Divide (unsigned integer).
Modulo (signed integer).
Modulo (unsigned integer).
Multiply (signed integer).
Multiply (unsigned integer).
Bitwise AND.
Bitwise OR.
Bitwise XOR.
Bitwise complement.
Bitwise left-shift.
Algebraic (signed) right-shift.
Bitwise (unsigned) right-shift.
Negate (float).
Add (float).
Subtract (float).
Divide (float).
Multiply (float).
Convert signed integer to float.
Convert float to signed integer.
Trait Implementations
impl Clone for Instruction
[src]
fn clone(&self) -> Instruction
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for Instruction
[src]
impl Debug for Instruction
[src]
impl PartialEq<Instruction> for Instruction
[src]
fn eq(&self, other: &Instruction) -> bool
[src]
fn ne(&self, other: &Instruction) -> bool
[src]
impl StructuralPartialEq for Instruction
[src]
Auto Trait Implementations
impl RefUnwindSafe for Instruction
impl Send for Instruction
impl Sync for Instruction
impl Unpin for Instruction
impl UnwindSafe for Instruction
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,