Enum armv4t::Operation [] [src]

pub enum Operation {
    Alu(DataOpSetFlagsRegistersShift),
    StatusTransfer(TransferFlagsu8RegistersShift),
    Multiply(MultiplyFlagsRegisters),
    MultiplyLong(MultiplyFlagsRegisters),
    SingleDataSwap(TransferFlagsRegisters),
    BranchExchange(Registers),
    HalfwordDataTransfer(TransferFlagsRegistersShift),
    SingleDataTransfer(TransferFlagsRegistersShift),
    Undefined,
    BlockDataTransfer(TransferFlagsRegistersu16),
    Branch(ConditionLinki32),
    CoprocessorDataTransfer(TransferFlagsu8Registersu32),
    CoprocessorDataOperation(u8u8u8Registers),
    CoprocessorRegisterTransfer(TransferFlagsu8u8u8Registers),
    SoftwareInterrupt(u32),
}

Processor operations

Operations that the processor can perform.

Variants

Data processing

Perform an arithmetic or logical calculation on data contained in registers or encoded in the instruction.

Status register transfer

Perform a transfer of a value between a register and a status register.

NOTE: The u8 member is the mask of the portions of the status register that should be transferred.

Multiply

Perform integer multiplication on data contained in registers.

Multiply long

Perform integer multiplication on data contained in registers, producing a 64-bit result.

Single Data Swap

Perform a swap between a register and a memory address.

Branch and Exchange

Perform a branch by setting the program counter. The instruction set can also be changed based on the contents of the new PC.

Halfword and signed data transfer

Perform a transfer of a halfword, byte, signed halfword, or signed halfword value between a register and memory.

Single data transfer

Perform a transfer of a word, or byte value between a register and memory.

Undefined

Execute the undefined instruction trap.

Block data transfer

Perform a transfer of a subset of visible registers between the register bank and memory.

Conditional branch

Perform a branch by adding an offset to the program counter.

Coprocessor data transfer

Perform a transfer between a subset of a coprocessor's registers and memory.

NOTE: The u8 member is the coprocessor number and the u32 member is the offset.

Coprocessor data operation

Perform a request for an operation on a coprocessor.

NOTE: The u8 members are, in order: coprocessor number, coprocessor opcode, coprocessor information.

Coprocessor register transfer

Perform a transfer between an ARM register and a coprocessor register, with an optional transformation.

NOTE: The u8 members are, in order: coprocessor number, coprocessor opcode, coprocessor information.

Software interrupt

Execute the software interrupt trap.

Trait Implementations

impl Clone for Operation
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for Operation
[src]

impl Debug for Operation
[src]

Formats the value using the given formatter.

impl PartialEq for Operation
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.