指令集优化:U6 定案——op 预算按指令集清单/指令编码文档方案(前缀分区)

This commit is contained in:
2026-08-24 15:41:58 +08:00
parent c9024a060b
commit c193c760ef
+2 -1
View File
@@ -251,6 +251,7 @@ V2 的 op 位段仅 6 位(64 个),FB 占 8 个不划算,且 machine.toml
- A3..A8 定案(2026-08-24):计数器单/双字两种;DATE 字面量不支持;TIME/浮点运算按推荐;sidecar 一致;disasm 类型后缀;type 表=基元别名(REAL→float32、LREAL→float64
- A9 定案:按上下文适配、默认 DINT 兜底(用户确认)
- U5 定案:内建 FB 14 条全部 v1 实现(6 计数拆条 + TON/TOF/TP/R/F_TRIG + SR/RS、PWM、RTC
- U6 定案:op 预算按指令集清单/指令编码文档方案(前缀分区)
- A10 定案(B1/B2):1 CAL + fb_id 16 位(查 [[fb]] 表);V1 的 8 个 CAL_* opcode 作废
- B4 定案:领域指令(运动控制/通信)不进指令集,一律 FB 库;无 EXT 服务指令
- B3/B5 说明中待确认:单/双字计数编码(CAL type 位段)、op 位段预算
@@ -301,7 +302,7 @@ V2 的 op 位段仅 6 位(64 个),FB 占 8 个不划算,且 machine.toml
| ~~U3~~ | ~~字节布局~~ | **已被取代**`[前缀+形态分区\|op] + [func:4\|空:4]`(指令编码.md §2 |
| ~~U4~~ | ~~结构体 v1 只留编码不实现语法~~ | **已定案(预留)**:只留编码路径(LOAD/STORE 16B 变体 + 元数据段),语法 v1 不实现 |
| ~~U5~~ | ~~B3 计数拆条~~ | **已定案**fb 表拆条 11 条(CTU/DCTU/CTD/DCTD/CTUD/DCTUD 6 计数 + TON/TOF/TP/R_TRIG/F_TRIG),名字即宽度;**清单内建 FB 全部 14 条(含 SR/RS、PWM、RTCv1 实现** |
| U6 | **B5 op 预算**:基础 23 + 余 41,op:6 不扩 | 讨论过,未写文档 | 接受 / 改 |
| ~~U6~~ | ~~op 预算~~ | **已定案**:按指令集清单.md §12 / 指令编码.md §3 方案(前缀分区预算:RR 21/64、NONE 2/64、RRR 26/32、010 区 8/24、SLOT+off 8/16、IMM64 1/16、0001 预留 6/16 |
| U7 | **头 128 字节布局**64/68 改义、n_slots/n_values、型号@72、112..127 预留) | §2.5 已写 | 未细审,确认 / 改 |
| U8 | **槽表条目 {addr:u32, 预留:u32} 8B** | §2.3 已写 | 确认 / 改 |
| U9 | **值段对齐 1/2/4/8B 编译器保证** | §2.3 已写 | 确认 / 改 |