1个不稳定版本
0.1.0 | 2022年7月8日 |
---|
#221 in 模拟器
8KB
139 行
ivm的官方虚拟机/指令集。
有关更多信息,请参阅GitHub上的ivm wiki。
什么是ivm?
ivm是一个实验性、文档齐全且可扩展的虚拟机/指令集,完全使用Rust编写。
ivm提供了一个相当中级的指令包装器,这使得将您的语言移植到ivm比想象中更容易。
示例
当与ivm-compile结合使用时,我们可以以惊人的轻松方式实现一些相当简单的结果。
let program_options = ProgramOptions::new(options::CCFV, MemoryPointerLength::X32b);
let instructions = [
Instruction::Push(ReadOperation::Local(b"Hello, world!\n".to_vec())),
Instruction::ExternCall(ivm_ext_x32::STDOUT_WRITE),
Instruction::ExternCall(ivm_ext_x32::STDOUT_FLUSH),
];
let bytecode = ivm_compile::compile_all(&program_options, instructions);
let mut vm = VmInstance::init(program_options);
vm.introduce(bytecode);
vm.continue_execution().unwrap();
依赖项
~13KB