文档:指令集清单章节编号独立化 + 头部去重
This commit is contained in:
+12
-15
@@ -6,12 +6,9 @@
|
||||
> type 列:`有` = 用 type 位段(宽度/符号/浮点语义)、`无` = type=NONE、`dst` = type 位段为转换目标类型。
|
||||
> 操作数记法:rd=目标寄存器、rs/ra/rb=源寄存器、slot=槽号、off=字段偏移、const_id=常量表下标、fn_id=函数下标、fb_id=内建 FB id。
|
||||
|
||||
> 全功能目标下的完整指令清单。**状态列**:`核心` = v1 实现;`扩展` = v1 后实现;`预留` = 仅留编码/未来。
|
||||
> 组 = 长度组(前缀编码:`1`=4B、`01`=8B、`001`=16B、`0001`=32B);fmt = 操作数形态。
|
||||
> type 列:`有` = 用 type 位段(宽度/符号/浮点语义)、`无` = type=NONE、`dst` = type 位段为转换目标类型。
|
||||
> 操作数记法:rd=目标寄存器、rs/ra/rb=源寄存器、slot=槽号、off=字段偏移、const_id=常量表下标、fn_id=函数下标、fb_id=内建 FB id。
|
||||
**状态列**:`核心` = v1 实现;`扩展` = v1 后实现;`预留` = 仅留编码/未来。
|
||||
|
||||
### 10.1 数据搬运
|
||||
## 1. 数据搬运
|
||||
|
||||
| 指令 | 组 | fmt | type | 操作数 | 语义 | 状态 |
|
||||
|---|---|---|---|---|---|---|
|
||||
@@ -24,7 +21,7 @@
|
||||
| STORE_OFF | 16B | SLOT+off | 有 | slot, off, rs | 字段写 | 核心 |
|
||||
| LOADK64 | 16B | IMM64 | 有 | rd, imm64 | 64 位立即数内嵌(免查表) | 预留 |
|
||||
|
||||
### 10.2 逻辑与位运算
|
||||
## 2. 逻辑与位运算
|
||||
|
||||
| 指令 | 组 | fmt | type | 操作数 | 语义 | 状态 |
|
||||
|---|---|---|---|---|---|---|
|
||||
@@ -36,7 +33,7 @@
|
||||
| GETBIT | 8B | RRR | 无 | rd, rs, bit | 取位(位号在 rb) | 扩展 |
|
||||
| SETBIT / CLRBIT / TOGBIT | 8B | RRR | 无 | slot/rd, rs, bit | 置位/清位/翻转(目标可槽) | 扩展 |
|
||||
|
||||
### 10.3 算术
|
||||
## 3. 算术
|
||||
|
||||
| 指令 | 组 | fmt | type | 操作数 | 语义 | 状态 |
|
||||
|---|---|---|---|---|---|---|
|
||||
@@ -51,20 +48,20 @@
|
||||
| LN / LOG / EXP | 4B | RR | 有 | rd, rs | 对数/指数(浮点) | 扩展 |
|
||||
| ROUND / TRUNC / FLOOR / CEIL | 4B | RR | 有 | rd, rs | 舍入(浮点→整数) | 扩展 |
|
||||
|
||||
### 10.4 比较
|
||||
## 4. 比较
|
||||
|
||||
| 指令 | 组 | fmt | type | 操作数 | 语义 | 状态 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| CMP_EQ / NE / LT / LE / GT / GE | 8B | RRR | 有 | rd, ra, rb | 按 type:有/无符号/浮点/IEEE(NaN 传播) | 核心 |
|
||||
|
||||
### 10.5 转换
|
||||
## 5. 转换
|
||||
|
||||
| 指令 | 组 | fmt | type | 操作数 | 语义 | 状态 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| CONV | 4B | RR | dst | rd, rs | 类型转换(dst 在 type 位段;src 值已在寄存器,按 dst 宽度截断/扩展/舍入) | 扩展 |
|
||||
| TRUNC(并入 CONV 舍入模式) | — | — | — | — | 舍入模式由 CONV 的 op 变体或独立指令(见上) | 扩展 |
|
||||
|
||||
### 10.6 控制流
|
||||
## 6. 控制流
|
||||
|
||||
| 指令 | 组 | fmt | type | 操作数 | 语义 | 状态 |
|
||||
|---|---|---|---|---|---|---|
|
||||
@@ -75,7 +72,7 @@
|
||||
| CAL | 8B | SLOT | 无 | fb_id, slot | 内建 FB 调用(fb_id 查 [[fb]] 表) | 核心 |
|
||||
| JTBL | 32B | 预留 | 无 | rd, slot, n | CASE 跳转表 | 预留 |
|
||||
|
||||
### 10.7 内建 FB(CAL + fb_id,[[fb]] 表)
|
||||
## 7. 内建 FB(CAL + fb_id,[[fb]] 表)
|
||||
|
||||
| fb_id | FB | 字段(类型化) | 状态 |
|
||||
|---|---|---|---|
|
||||
@@ -94,7 +91,7 @@
|
||||
| 12 | PWM | in/pt/q… | 扩展 |
|
||||
| 13 | RTC | 日期时钟字段 | 扩展 |
|
||||
|
||||
### 10.8 字符串(未来,元数据段 + 16/32B)
|
||||
## 8. 字符串(未来,元数据段 + 16/32B)
|
||||
|
||||
| 指令 | 组 | fmt | 语义 | 状态 |
|
||||
|---|---|---|---|---|
|
||||
@@ -104,20 +101,20 @@
|
||||
| STR_MID / STR_LEFT / STR_RIGHT | 16B/32B | 预留 | 取子串 | 预留 |
|
||||
| STR_FIND / STR_REPLACE | 32B | 预留 | 查找/替换 | 预留 |
|
||||
|
||||
### 10.9 数组(未来)
|
||||
## 9. 数组(未来)
|
||||
|
||||
| 指令 | 组 | fmt | 语义 | 状态 |
|
||||
|---|---|---|---|---|
|
||||
| ARR_LEN | 16B | SLOT+off | 数组长度 | 预留 |
|
||||
| ARR_LOAD / ARR_STORE | 32B | 预留 | 索引访问(基槽+index) | 预留 |
|
||||
|
||||
### 10.10 系统
|
||||
## 10. 系统
|
||||
|
||||
| 指令 | 组 | fmt | 语义 | 状态 |
|
||||
|---|---|---|---|---|
|
||||
| NOP | 4B | NONE | 空操作(占位/对齐) | 核心 |
|
||||
|
||||
### 10.11 op 预算核对(前缀编码按组分治)
|
||||
## 11. op 预算核对(前缀编码按组分治)
|
||||
|
||||
| 组 | op 空间 | v1 核心用量 | 扩展/预留量 |
|
||||
|---|---|---|---|
|
||||
|
||||
Reference in New Issue
Block a user