Enum msp430_asm::operand::Operand
source · pub enum Operand {
RegisterDirect(u8),
Indexed((u8, i16)),
RegisterIndirect(u8),
RegisterIndirectAutoIncrement(u8),
Symbolic(i16),
Immediate(u16),
Absolute(u16),
Constant(i8),
}
Expand description
Represents a source or destination operand. This represents all addressing mode represented by AS/AD with their corresponding register pairs. In msp430 the valid destination operands are a subset of the source operands. Due to cases in the implementation where it is necessary to sometimes use a source as a destination (br emulated instruction) or compare a source and a destination rather than create separate types for source and destination they share one. The enforcement that a valid destination is specified, as all operands are valid for source, is left to the implementation of the decoding logic or assembling logic.
Variants§
RegisterDirect(u8)
The operand is stored in the register
Indexed((u8, i16))
The operand is stored at the offset of the address specified in the register.
This requires an additional word
RegisterIndirect(u8)
The operand is stored at the address that is in the register
This requires an additional word
RegisterIndirectAutoIncrement(u8)
The operand is stored at the address that is in the register and the register is autoincremented by one word
Symbolic(i16)
The operand is the value of the following word relative to PC
This requires an additional word
Immediate(u16)
The operand is the immediate value following the instruction word
This requires an additional word
Absolute(u16)
The operand is stored at the address specified by the immediate value after the instruction word
This requires an additional word
Constant(i8)
The operand is a constant value specified by the combination of register (SR or CG) and the addressing mode