diff --git a/Doc/isa/指令集清单.md b/Doc/isa/指令集清单.md index 91e8ead..ec83195 100644 --- a/Doc/isa/指令集清单.md +++ b/Doc/isa/指令集清单.md @@ -209,9 +209,30 @@ bit127 88 bit87 24 bit23 16 bit15 12 bit11 8 bit7 0 | 8 | DCTUD | cu/cd/r/lu/pv(DINT)/qu/qd/cv(DINT) | 核心 | | 9 | R_TRIG | clk/q = BOOL/BOOL | 核心 | | 10 | F_TRIG | clk/q = BOOL/BOOL | 核心 | -| 11 | SR / RS | s1/r/s/q… | 核心 | -| 12 | PWM | in/pt/q… | 核心 | -| 13 | RTC | 日期时钟字段 | 核心 | +| 11 | SR | S1/R/Q1 = BOOL/BOOL/BOOL(置位优先) | 核心 | +| 12 | RS | SET/RESET1/Q1 = BOOL/BOOL/BOOL(复位优先) | 核心 | +| 13 | PWM | in/pt/duty/q/et = BOOL/TIME/REAL/BOOL/TIME | 核心 | +| 14 | RTC | enable/date/tod = BOOL/DATE/TOD(虚拟时钟) | 核心 | + +### 8.1 字段布局终稿(对齐规则 1/2/4/8B,字段按声明序;偏移 = 实例基地址 + 字段偏移) + +| FB | 字段偏移(字节) | 实例大小 | +|---|---|---| +| TON/TOF/TP | in=0、pt=8、q=16、et=24 | 32B | +| CTU/CTD | cu/cd=0、r/ld=1、pv=2、q=4、cv=6 | 8B | +| DCTU/DCTD | cu/cd=0、r/ld=1、pad 2..3、pv=4、q=8、pad 9..11、cv=12 | 16B | +| CTUD | cu=0、cd=1、r=2、lu=3、pv=4、qu=6、qd=7、cv=8 | 10B | +| DCTUD | cu=0、cd=1、r=2、lu=3、pv=4、qu=8、qd=9、pad 10..11、cv=12 | 16B | +| R_TRIG/F_TRIG | clk=0、q=1 | 2B | +| SR | S1=0、R=1、Q1=2 | 3B | +| RS | SET=0、RESET1=1、Q1=2 | 3B | +| PWM | in=0、pt=8(pad 1..7)、duty=16、q=20、et=24(pad 21..23) | 32B | +| RTC | enable=0、date=4(pad 1..3)、tod=8 | 12B | + +> **RTC 时钟源(确定性注记)**:v1 无墙钟(确定性原则)——RTC 用**虚拟时钟**:映像加载起 +> 周期计数 × dt_ms 累计推导日期时间;不读系统时钟,保证确定性(A5 定案延伸)。 +> **PWM 语义**:in 使能时按 pt 周期输出 q(duty×pt 高电平),et 为当前周期已运行时间。 +> **SR/RS 语义**:SR 置位优先(S1=1 → Q1=1,R 仅在 S1=0 时复位);RS 复位优先。 ## 9. 字符串(未来,元数据段 + 16/32B)