momiji

m68k emulator infrastructure

About Source code

Table of contents

Instruction operands

Classes that represent operand types in an instruction

Interfaces

ASTOperand

An operand that has an AST which can be resolved.

RegOperand

An operand that refers to a register.

Classes

momiji::operands::AbsoluteLong

An operand of the form X where ‘X’ is any compile-time expression and the data size of the instruction is a Long (32-bit wide). The literal 32-bit value of ‘X’ is used.

momiji::operands::AbsoluteShort

An operand of the form X where ‘X’ is any compile-time expression and the data size of the instruction is a Word/Short (16-bit wide). The literal 16-bit value of ‘X’ is used.

momiji::operands::Address

An operand in the form (a*) where ‘*’ is any number from 0 to 7. This references the address inside an address register.

momiji::operands::AddressIndex

An operand of the form (X, Y*, a*) where ‘*’ is any number from 0 to 7, ‘Y’ is any data or address register and ‘X’ is any compile-time expression. This references the address inside the address register plus the value inside the register ‘Y*’ plus the value of ‘X’. It’s also possible to omit ‘X’, which results in an expression of the form (Y*, a*).

momiji::operands::AddressOffset

An operand in the form (X, a*) where ‘*’ is any number from 0 to 7 and ‘X’ is any compile-time expression. This references the address inside an address register plus the value of ‘X’.

momiji::operands::AddressPost

An operand in the form (a*)+ where ‘*’ is any number from 0 to 7. This references the address inside an address register. When used, a copy of the value inside the address register is made and the value in the registrer is incremented by the data size of the instruction. The returned value is the copy before the increment.

momiji::operands::AddressPre

An operand in the form (a*)+ where ‘*’ is any number from 0 to 7. This references the address inside an address register. When used, the value in the address register is decremented by the data size of the instruction and then returned. fields: reg: type: std::int32_t description: ‘The number of the address register. (eg: 0 is the first, 7 is the eight)’

momiji::operands::AddressRegister

An address register in the form a* where ‘*’ is any number from 0 to 7.

momiji::operands::DataRegister

A data register in the form d* where ‘*’ is any number from 0 to 7.

momiji::operands::Immediate

An operand of the form #X where ‘X’ is any compile-time expression. The literal value of ‘X’ is used.