步骤E:文档收尾——基址寻址落地同步(编译器优化/寄存器码/用例对照/指令与映像/指令集清单/指令执行)

This commit is contained in:
2026-08-27 09:23:12 +08:00
parent 766e3a39b2
commit c53e84f180
6 changed files with 40 additions and 28 deletions
+4 -2
View File
@@ -41,7 +41,7 @@
| `010 011` | JC | 8B | rd=23..16、off32=55..24、pad=63..56 | 前缀直推 |
| `010 100` | CALL | 8B | fn_id32=47..16、pad=63..48 | 前缀直推 |
| `010 101` | CAL | 8B | fb_id16=31..16、slot32=63..32 | 前缀直推 |
| `0010` | SLOT+off | 16B | rd=23..16、slot32=55..24、off32=87..56、pad=127..88 | 前缀直推 |
| `0010` | SLOT+off / RS+off | 16B | SLOT+off: rd=23..16、slot32=55..24、off32=87..56RS+off: rd=23..16、rs=31..24、off32=87..56、pad=127..88 | 前缀直推 |
| `0011` | IMM64 | 16B | rd=23..16、imm64=87..24、pad=127..88 | 前缀直推 |
| `0001` | 预留 | 32B | 操作数区 30Bbit 240..16),格式待定 | — |
@@ -112,6 +112,8 @@ bit127 88 bit87 24 bit23 16 bit15 12 bit11 8 bit7 0
| LOADK | 8B | `01000000` | IMM | 全矩阵 0..9 | rd, const_id | 常量表→寄存器(按 func 解释) | 核心 |
| LOAD_OFF | 16B | `00100000` | SLOT+off | 全矩阵 0..9 | rd, slot, off | 字段读(结构体/FB 共享体) | 核心 |
| STORE_OFF | 16B | `00100001` | SLOT+off | 全矩阵 0..9 | slot, off, rs | 字段写 | 核心 |
| LOAD_PTR | 16B | `00101000` | RS+off | 全矩阵 0..9 | rd, rs, off | 基址读(rs 寄存器 = 值区地址 + 偏移;FB 共享体) | 核心 |
| STORE_PTR | 16B | `00101001` | RS+off | 全矩阵 0..9 | rd, rs, off | 基址写 | 核心 |
| LOADK64 | 16B | `00110000` | IMM64 | 全矩阵 0..9 | rd, imm64 | 64 位立即数内嵌(免查表) | 预留 |
## 3. 逻辑与位运算
@@ -270,7 +272,7 @@ bit127 88 bit87 24 bit23 16 bit15 12 bit11 8 bit7 0
| `10` | NONE | 64 | 2 | NOP/RET | 62 |
| `011` | RRR | 32 | 26 | 算术 6 + 逻辑 6 + 移位 4 + 位操作 4 + CMP 6 | 6 |
| `010 000`..`010 101` | IMM/SLOT/JMP/JC/CALL/CAL | 6×4 | 8 | LOADK(1)/LOAD·STORE(2)/JMP(1)/JT·JF(2)/CALL(1)/CAL(1) | 16(含 2 个预留形态区) |
| `0010` | SLOT+off | 16 | 8 | LOAD_OFF/STORE_OFF + 字符串 6 | 8 |
| `0010` | SLOT+off / RS+off | 16 | 10 | LOAD_OFF/STORE_OFF + LOAD_PTR/STORE_PTR + 字符串 6 | 6 |
| `0011` | IMM64 | 16 | 1 | LOADK64 | 15 |
| `0001` | 预留 | 16 | 6 | JTBL + STR_CONCAT/FIND/REPLACE + ARR_LOAD/STORE | 10 |