用 Sail 实现 Hack
hack ISA family 包含两个 profile:hack16 是 canonical 16 位 nand2tetris 基线,hack32 是 32 位 Verylogic 扩展。两者都保留 15 位 PC/地址和各 32768 word 的 ROM、RAM;模块在共享 Sail 语义之外配套汇编器、示例程序、源码断言和回归测试。
先运行一次
克隆仓库,进入根目录,然后执行:
程序成功时会输出 ASSERT PASS 和架构状态。入门教程会解释这些输出,并沿着同一个程序走完整条工具链。
按目标选择文档
一个程序的完整路径
机器契约由共享 model/core.sail、单一 model/profiles/<profile>.sail 入口和 projects/<profile>.sail_project 共同定义;assembler 翻译源码,executor 生成 driver 并完成本机编译,workflow 负责程序发现和命令分派。