MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
Loading...
Searching...
No Matches
mxvm::Instruction Struct Reference

A complete MXVM instruction with opcode, operands, and optional label. More...

#include <instruct.hpp>

Public Member Functions

std::string toString () const
 Convert this instruction to its assembly text representation.

Public Attributes

Inc instruction
 the opcode
Operand op1
Operand op2
Operand op3
 up to three fixed operands
std::vector< Operandvop
 variable-length operand list (for print, invoke, etc.)
std::string label = ""
 label at this instruction address

Detailed Description

A complete MXVM instruction with opcode, operands, and optional label.

Definition at line 168 of file instruct.hpp.

Member Function Documentation

◆ toString()

std::string mxvm::Instruction::toString ( ) const

Convert this instruction to its assembly text representation.

Returns
Formatted string with opcode, operands, and label

Definition at line 84 of file instruct.cpp.

Member Data Documentation

◆ instruction

◆ label

std::string mxvm::Instruction::label = ""

label at this instruction address

Definition at line 172 of file instruct.hpp.

◆ op1

Operand mxvm::Instruction::op1

Definition at line 170 of file instruct.hpp.

Referenced by mxvm::Program::exec_add(), mxvm::Program::exec_alloc(), mxvm::Program::exec_and(), mxvm::Program::exec_call(), mxvm::Program::exec_cmp(), mxvm::Program::exec_div(), mxvm::Program::exec_exit(), mxvm::Program::exec_fcmp(), mxvm::Program::exec_free(), mxvm::Program::exec_getline(), mxvm::Program::exec_invoke(), mxvm::Program::exec_jmp(), mxvm::Program::exec_lea(), mxvm::Program::exec_load(), mxvm::Program::exec_mod(), mxvm::Program::exec_mov(), mxvm::Program::exec_mul(), mxvm::Program::exec_neg(), mxvm::Program::exec_not(), mxvm::Program::exec_or(), mxvm::Program::exec_pop(), mxvm::Program::exec_print(), mxvm::Program::exec_push(), mxvm::Program::exec_realloc(), mxvm::Program::exec_return(), mxvm::Program::exec_stack_load(), mxvm::Program::exec_stack_store(), mxvm::Program::exec_stack_sub(), mxvm::Program::exec_store(), mxvm::Program::exec_string_print(), mxvm::Program::exec_sub(), mxvm::Program::exec_to_float(), mxvm::Program::exec_to_int(), mxvm::Program::exec_xor(), mxvm::Program::flatten_inc(), mxvm::Program::gen_alloc(), mxvm::Program::gen_arth(), mxvm::Program::gen_bitop(), mxvm::Program::gen_call(), mxvm::Program::gen_cmp(), mxvm::Program::gen_div(), mxvm::Program::gen_exit(), mxvm::Program::gen_fcmp(), mxvm::Program::gen_free(), mxvm::Program::gen_getline(), mxvm::Program::gen_invoke(), mxvm::Program::gen_jae(), mxvm::Program::gen_jbe(), mxvm::Program::gen_jc(), mxvm::Program::gen_jmp(), mxvm::Program::gen_jnc(), mxvm::Program::gen_jno(), mxvm::Program::gen_jnp(), mxvm::Program::gen_jns(), mxvm::Program::gen_jo(), mxvm::Program::gen_jp(), mxvm::Program::gen_js(), mxvm::Program::gen_lea(), mxvm::Program::gen_load(), mxvm::Program::gen_mod(), mxvm::Program::gen_mov(), mxvm::Program::gen_neg(), mxvm::Program::gen_not(), mxvm::Program::gen_pop(), mxvm::Program::gen_print(), mxvm::Program::gen_push(), mxvm::Program::gen_realloc(), mxvm::Program::gen_return(), mxvm::Program::gen_stack_load(), mxvm::Program::gen_stack_store(), mxvm::Program::gen_stack_sub(), mxvm::Program::gen_store(), mxvm::Program::gen_to_float(), mxvm::Program::gen_to_int(), operator<<(), mxvm::Program::x64_gen_alloc(), mxvm::Program::x64_gen_arth(), mxvm::Program::x64_gen_bitop(), mxvm::Program::x64_gen_call(), mxvm::Program::x64_gen_cmp(), mxvm::Program::x64_gen_div(), mxvm::Program::x64_gen_exit(), mxvm::Program::x64_gen_fcmp(), mxvm::Program::x64_gen_free(), mxvm::Program::x64_gen_getline(), mxvm::Program::x64_gen_invoke(), mxvm::Program::x64_gen_jae(), mxvm::Program::x64_gen_jbe(), mxvm::Program::x64_gen_jc(), mxvm::Program::x64_gen_jmp(), mxvm::Program::x64_gen_jnc(), mxvm::Program::x64_gen_jno(), mxvm::Program::x64_gen_jnp(), mxvm::Program::x64_gen_jns(), mxvm::Program::x64_gen_jo(), mxvm::Program::x64_gen_jp(), mxvm::Program::x64_gen_js(), mxvm::Program::x64_gen_lea(), mxvm::Program::x64_gen_load(), mxvm::Program::x64_gen_mod(), mxvm::Program::x64_gen_mov(), mxvm::Program::x64_gen_neg(), mxvm::Program::x64_gen_not(), mxvm::Program::x64_gen_pop(), mxvm::Program::x64_gen_print(), mxvm::Program::x64_gen_push(), mxvm::Program::x64_gen_realloc(), mxvm::Program::x64_gen_return(), mxvm::Program::x64_gen_stack_load(), mxvm::Program::x64_gen_stack_store(), mxvm::Program::x64_gen_stack_sub(), mxvm::Program::x64_gen_store(), mxvm::Program::x64_gen_to_float(), and mxvm::Program::x64_gen_to_int().

◆ op2

Operand mxvm::Instruction::op2

Definition at line 170 of file instruct.hpp.

Referenced by mxvm::Program::exec_add(), mxvm::Program::exec_alloc(), mxvm::Program::exec_and(), mxvm::Program::exec_cmp(), mxvm::Program::exec_div(), mxvm::Program::exec_fcmp(), mxvm::Program::exec_invoke(), mxvm::Program::exec_lea(), mxvm::Program::exec_load(), mxvm::Program::exec_mod(), mxvm::Program::exec_mov(), mxvm::Program::exec_mul(), mxvm::Program::exec_or(), mxvm::Program::exec_print(), mxvm::Program::exec_realloc(), mxvm::Program::exec_stack_load(), mxvm::Program::exec_stack_store(), mxvm::Program::exec_store(), mxvm::Program::exec_string_print(), mxvm::Program::exec_sub(), mxvm::Program::exec_to_float(), mxvm::Program::exec_to_int(), mxvm::Program::exec_xor(), mxvm::Program::flatten_inc(), mxvm::Program::gen_alloc(), mxvm::Program::gen_arth(), mxvm::Program::gen_bitop(), mxvm::Program::gen_cmp(), mxvm::Program::gen_div(), mxvm::Program::gen_fcmp(), mxvm::Program::gen_invoke(), mxvm::Program::gen_lea(), mxvm::Program::gen_load(), mxvm::Program::gen_mod(), mxvm::Program::gen_mov(), mxvm::Program::gen_print(), mxvm::Program::gen_realloc(), mxvm::Program::gen_stack_load(), mxvm::Program::gen_stack_store(), mxvm::Program::gen_store(), mxvm::Program::gen_to_float(), mxvm::Program::gen_to_int(), operator<<(), mxvm::Program::x64_gen_alloc(), mxvm::Program::x64_gen_arth(), mxvm::Program::x64_gen_bitop(), mxvm::Program::x64_gen_cmp(), mxvm::Program::x64_gen_div(), mxvm::Program::x64_gen_fcmp(), mxvm::Program::x64_gen_invoke(), mxvm::Program::x64_gen_lea(), mxvm::Program::x64_gen_load(), mxvm::Program::x64_gen_mod(), mxvm::Program::x64_gen_mov(), mxvm::Program::x64_gen_print(), mxvm::Program::x64_gen_realloc(), mxvm::Program::x64_gen_stack_load(), mxvm::Program::x64_gen_stack_store(), mxvm::Program::x64_gen_store(), mxvm::Program::x64_gen_to_float(), and mxvm::Program::x64_gen_to_int().

◆ op3

◆ vop


The documentation for this struct was generated from the following files: