U13/U14 定案:DATE/TOD/DT 表示(DT={date:32|tod:32} 拼接)+ CALL/CAL rd 恒 0 —— 全部 U 项闭合,V2 规格冻结

This commit is contained in:
2026-08-24 16:05:46 +08:00
parent d38d78c942
commit 721dfabf87
+5 -2
View File
@@ -105,6 +105,7 @@
| 9 | USINT | 1B | 无 | uint8_t | 19..31 | 预留 | | | |
- **type 位段红利**:CMP/算术按类型自动语义——无符号类型无符号比较、整数饱和到类型宽度(模板化)、浮点走 IEEE 754(无饱和,溢出→±inf)、读取按宽度+符号/零扩展
- **DATE/TOD/DTU13 定案)**DATE=uint32(天数)、TOD=uint32(当日 ms)、DT=uint64 **{date:32 \| tod:32} 拼接**(高 32 位日期);DT→DATE 取高 32 位、DT→TOD 取低 32 位(CONV/移位展开);v1 无日期运算仅存取/比较
- **浮点表示**REAL 4B / LREAL 8B,值区 4/8 字节对齐;寄存器 int64 位模式搬运(REAL 低 4 字节),运算时按 type 重解释
- **常量表契约(A2 定案)**:条目 = **8 字节原始值(无 tag**,按位模式去重;
`LOADK rd, const_id`8B IMM 形态)**用指令 type 位段**解释(读 width 字节、按符号扩展),
@@ -277,6 +278,8 @@ V2 的 op 位段仅 6 位(64 个),FB 占 8 个不划算,且 machine.toml
- U9 定案:值段 1/2/4/8B 对齐编译器保证
- U10 定案:寄存器/调用约定维持现状、帧按 nregs 动态分配;栈方案 C(预分配栈区 + max_stack@116 编译期算 + 字节/深度双检查);递归 = 链接层环检测编译期报错
- U12 定案:元数据段 v1 0 长度占位(offset_meta=0),schema 延后
- U13 定案:DATE/TOD/DT 表示(DT={date:32|tod:32} 拼接,转换取高/低 32 位)
- U14 定案:CALL/CAL rd 字段恒 0(按指令编码/指令集清单文档)——**全部 U 项闭合,V2 规格冻结**
- A10 定案(B1/B2):1 CAL + fb_id 16 位(查 [[fb]] 表);V1 的 8 个 CAL_* opcode 作废
- B4 定案:领域指令(运动控制/通信)不进指令集,一律 FB 库;无 EXT 服务指令
- B3/B5 说明中待确认:单/双字计数编码(CAL type 位段)、op 位段预算
@@ -334,8 +337,8 @@ V2 的 op 位段仅 6 位(64 个),FB 占 8 个不划算,且 machine.toml
| ~~U10~~ | ~~寄存器与调用栈~~ | **已定案**:寄存器 int64 不变;调用约定不变;CALL/RET 全宽复制;帧按 nregs 动态分配(§2.2 表述修正);栈方案 C(预分配 + max_stack@116 + 字节/深度双检查 + 递归编译器报错) |
| ~~U11~~ | ~~CAL 编码布局~~ | **已定案**010 101 分区,操作数区 fb_id16=31..16 + slot32=63..32 |
| ~~U12~~ | ~~元数据段占位~~ | **已定案**v1 定 0 长度占位(offset_meta=0 = 空段,接口预留),字段表 schema 延后(有使用方时再定) |
| U13 | **DATE/TOD/DT 表示**uint32 天 / uint32 当日ms / uint64) | §2.4 已写 | 确认 / 改 |
| U14 | **CALL/CAL 的 rd 恒 0 约定**成文 | 讨论过未成文 | 确认 / 改 |
| ~~U13~~ | ~~DATE/TOD/DT 表示~~ | **已定案**DATE=uint32(天数)、TOD=uint32当日 ms)、DT=uint64 **{date:32 \| tod:32} 拼接**(高 32 位日期,取高/低即转换,比较天然有序);v1 无日期运算(A5);将来转换编译展开 |
| ~~U14~~ | ~~CALL/CAL 的 rd 恒 0~~ | **已定案**CALL010 100 区)/ CAL010 101 区)的 rd 字节恒 0(未使用),按指令编码/指令集清单文档编码 |
| ~~U15~~ | ~~无类型指令 type=NONE~~ | **已被 func=0 取代**(func 位段,无类型指令编码 0 不使用) |
| ~~U16~~ | ~~off32 相对下一条公式~~ | **已确认**(随 K7 跳转字节化接受) |