# 执行器入口 BytecodeExecutor 模块:可执行入口。CMake 目标:`BytecodeExecutor`(`EXECUTABLE`),链接 `vm` 和 `isa`,**不链 `compiler`**。源码目录 `executor/`。 第一版两个可执行:`STCompiler` 编译出 `.stb` 与 `.runtime.toml`;`BytecodeExecutor` 加载映像按扫描周期跑。总顺序见 [`初步计划.md`](../初步计划.md) 第 12.10 节。 ## 职责 - 加载 `.stb` 映像与 `.runtime.toml` sidecar(I/O 绑定 var → 槽号 → channel/bit) - 按 sidecar 采样 I、写回 Q(不创造变量) - `dt_ms` / `cycle_limit` 从映像头取,推进 `TON` / `TOF` / `CTU` - 单步、看寄存器和映像、按录制的 `I` 回放 ## 边界 - 指令与映像编码见 [`指令与映像.md`](../isa/指令与映像.md) - ST 解析与链接见 [`编译管线.md`](../compiler/编译管线.md),本模块不碰 `.st` - 寄存器执行循环见 [`扫描周期.md`](../vm/扫描周期.md) --- ## TUI 观察界面(最后做,v1 只预留) TUI 属于本模块(`BytecodeExecutor` 的界面),用途是**观察 VM 运行状态**(寄存器、I/Q/M、全局、FB 字段、pc、cycle 计数)。v1 不做 TUI,只预留两点: 1. **可替换输出层**:所有人类可读输出走可注入 sink(默认文本模式)。将来 TUI 独占终端时,文本输出换成 TUI 渲染器,互不污染。 2. **展示层与 vm 观察 API 分离**:TUI 只轮询 vm 的只读快照(见 [`扫描周期.md`](../vm/扫描周期.md) 可观察性接口),不写 VM 状态。 候选库:`third_party/FTXUI/`(占位,vendor 在 TUI 阶段进行,见 [`third_party/README.md`](../third_party/README.md))。