#vm #hack #assembly #translator #translation #machine #command

bin+lib vm_translator

用于 Hack 机器的 VM 翻译器(参考:《计算机系统元素》)

4 个版本

0.3.0 2024 年 6 月 26 日
0.1.2 2024 年 4 月 17 日
0.1.1 2024 年 4 月 16 日
0.1.0 2024 年 1 月 21 日

#1 in #hack

MIT 许可证

30KB
632

Hack 机器 VM 翻译器

描述

这是一个用 Rust 编写的 vm 翻译器,用于将支持的 vm 命令转换为相应的 Hack 汇编指令。

我已经确保翻译器记录每个处理的命令,以便更容易进行调试。

版本 2:阶段 2 翻译器

  • 提供堆栈指针初始化要求
  • 提供跳转语句要求
  • 函数初始化和 goto 语句
  • 条件跳转
  • 使用递归进行测试

使用方法

git clone --depth=1 --no-checkout https://github.com/xpanvictor/hack/ && cd hack && git sparse-checkout set software/vm_translator && git checkout
cd software/vm_translator
cargo run <VM_FILE_PATH.vm>

位置
VM_FILE_PATH.vm:指向要翻译文件的路径

注意
输出文件存储在 VM_FILE_PATH.asm


lib.rs:

VM 翻译器

使用其他模块进行翻译的工作

依赖关系

~0.7–1.2MB
~25K SLoC