|
MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
|
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< Operand > | vop |
| variable-length operand list (for print, invoke, etc.) | |
| std::string | label = "" |
| label at this instruction address | |
A complete MXVM instruction with opcode, operands, and optional label.
Definition at line 168 of file instruct.hpp.
| std::string mxvm::Instruction::toString | ( | ) | const |
Convert this instruction to its assembly text representation.
Definition at line 84 of file instruct.cpp.
| Inc mxvm::Instruction::instruction |
the opcode
Definition at line 169 of file instruct.hpp.
Referenced by mxvm::Program::exec(), mxvm::Program::flatten_inc(), mxvm::Program::gen_jmp(), mxvm::Program::generateCode(), mxvm::Program::generateInstruction(), operator<<(), mxvm::Program::x64_gen_jmp(), mxvm::Program::x64_generateCode(), and mxvm::Program::x64_generateInstruction().
| std::string mxvm::Instruction::label = "" |
label at this instruction address
Definition at line 172 of file instruct.hpp.
| 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().
| 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().
| Operand mxvm::Instruction::op3 |
up to three fixed operands
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_div(), mxvm::Program::exec_invoke(), mxvm::Program::exec_load(), mxvm::Program::exec_mod(), mxvm::Program::exec_mul(), mxvm::Program::exec_or(), mxvm::Program::exec_print(), mxvm::Program::exec_realloc(), mxvm::Program::exec_store(), mxvm::Program::exec_string_print(), mxvm::Program::exec_sub(), mxvm::Program::exec_xor(), mxvm::Program::flatten_inc(), mxvm::Program::gen_alloc(), mxvm::Program::gen_arth(), mxvm::Program::gen_bitop(), mxvm::Program::gen_div(), mxvm::Program::gen_invoke(), mxvm::Program::gen_load(), mxvm::Program::gen_mod(), mxvm::Program::gen_print(), mxvm::Program::gen_realloc(), mxvm::Program::gen_store(), operator<<(), mxvm::Program::x64_gen_alloc(), mxvm::Program::x64_gen_arth(), mxvm::Program::x64_gen_bitop(), mxvm::Program::x64_gen_div(), mxvm::Program::x64_gen_invoke(), mxvm::Program::x64_gen_load(), mxvm::Program::x64_gen_mod(), mxvm::Program::x64_gen_print(), mxvm::Program::x64_gen_realloc(), and mxvm::Program::x64_gen_store().
| std::vector<Operand> mxvm::Instruction::vop |
variable-length operand list (for print, invoke, etc.)
Definition at line 171 of file instruct.hpp.
Referenced by mxvm::Program::exec_invoke(), mxvm::Program::exec_load(), mxvm::Program::exec_print(), mxvm::Program::exec_store(), mxvm::Program::exec_string_print(), mxvm::Program::flatten_inc(), mxvm::Program::gen_invoke(), mxvm::Program::gen_load(), mxvm::Program::gen_print(), mxvm::Program::gen_store(), operator<<(), mxvm::Program::x64_gen_invoke(), mxvm::Program::x64_gen_load(), mxvm::Program::x64_gen_print(), and mxvm::Program::x64_gen_store().