指令配置定案更新:最终架构 + .stb 格式冻结修订。

- 指令配置.md 重写:架构图(machine.toml 只给编译器、vm 不读配置、isa 归执行器只管指令)、
  决策清单 9 项、TOML 草案(meta/type 别名+range+tag/op/fb)、类型系统(基元内置+值域+tag)、
  .stb 加固(型号标识[32]+SHA-256 文件尾各实现一份)、强校验清单、加东西流程、8 步执行计划、
  4 项实现前确认
- 指令与映像.md:头 72→104 字节(型号标识[32] 偏移 72)、文件尾 SHA-256[32],12.13 修订注记
- stb文件格式.md:12.13 修订注记(落地后字节数字重新生成)
This commit is contained in:
2026-08-21 22:00:44 +08:00
parent 35dabf4c3b
commit 728ed9e71f
3 changed files with 160 additions and 118 deletions
+11 -2
View File
@@ -142,9 +142,13 @@ FB 实例固定布局,字段偏移编译期算死。
## 映像
魔数 `STSC`,版本 `1`。全部整数小端。文件 = 头 + 五个段,段序:常量表 → 函数表 → 字节码 → FB 布局 → 数据。偏移记在头里,段必须连续、偏移单调不减,末段终点不超过文件长度。
魔数 `STSC`,版本 `1`。全部整数小端。文件 = 头 + 五个段 + **文件尾校验**,段序:常量表 → 函数表 → 字节码 → FB 布局 → 数据。偏移记在头里,段必须连续、偏移单调不减,末段终点不超过文件长度(文件尾在数据段之后)
### 头(72 字节)
> 12.13 修订:头新增 **型号标识[32]**(原头 72 字节 → 104 字节,段偏移基准同步后移);
> 文件尾新增 **SHA-256[32]**(对文件尾之前全部内容计算,compiler 写侧 / vm 读侧各自实现)。
> 执行器读取时:型号标识与自身支持型号不匹配 → 报错;SHA-256 不匹配 → 报错(损坏/篡改)。
### 头(104 字节)
| 偏移 | 宽 | 字段 |
|---|---|---|
@@ -165,6 +169,11 @@ FB 实例固定布局,字段偏移编译期算死。
| 60 | 4 | `offset_code` |
| 64 | 4 | `offset_fb` |
| 68 | 4 | `offset_data` |
| 72 | 32 | **型号标识**(定长 ASCII,含版本,如 `"STATOR" + "1"` 拼 32 字节补 `'\0'` |
### 文件尾(SHA-256
数据段之后追加 **32 字节 SHA-256**:对文件尾之前全部内容计算。执行器必须校验通过才运行;compiler 写入。
### 常量表一行(12 字节)