⚙️ FT-asm66x — C66x DSP 汇编器
将 TI C66x 汇编指令翻译为机器码的开源汇编器。核心开发已完成——Python 引擎 417/417 测试全部通过,DSPlib 161/161 与 TI 官方工具 .text 逐字节匹配。
项目全景时间线
FT-asm66x 开发历程
timeline
title FT-asm66x 开发时间线
2026-05 : M0 项目脚手架 : 证据目录结构 : pytest 框架搭建
2026-05 : M1 CCS/asm6x golden 验证 : 建立 TI 官方工具对照基准
2026-06 : M2 导入冒烟汇编器 : fail-closed 不支持编码 : 基础指令编码
2026-06 : M3 DSPlib 子集编码器 : SPRUGH7 证据驱动 : 按 TI 手册逐条对照
2026-06-20 : M4 ELF/link 兼容 : lnk6x 链接器对接
2026-07-01 : M5 DSPlib 批量 .obj 验证 : 161/161 .text 匹配通过
2026-07-04 : M6 DSS C6678 运行时验证 : done=1 failures=0 : MATHLIB same-source 144/144
2026-07-04 : Full-ISA probes 63/63 : 完整指令集探测覆盖 : 无静态条目或 .text 证据缺口
2026-07-10 : 中央 active 18 条归 Compiler66x : FT-asm66x owner match=0
2026-07-12 : SUBSP closure 完成 : 417/417 pytest : CCS5 静态库通过 : mixed C/ASM DSS 通过
里程碑详解
| 里程碑 | 日期 | 产出 | 状态 |
|---|---|---|---|
| M0 | 2026-05 | 项目脚手架、证据目录、pytest 框架 | ✅ |
| M1 | 2026-05 | CCS/asm6x golden-model 对照基准 | ✅ |
| M2 | 2026-06 | 导入冒烟汇编器、fail-closed 不支持编码 | ✅ |
| M3 | 2026-06 | DSPlib 子集编码器、SPRUGH7 证据驱动 | ✅ |
| M4 | 2026-06 | ELF/link 兼容 lnk6x 链接器 | ✅ |
| M5 | 2026-07-01 | DSPlib 批量 .obj 验证 161/161 .text 匹配 | ✅ |
| M6 | 2026-07-04 | DSS C6678 运行时 done=1 failures=0 checksum=7 | ✅ |
| SUBSP closure | 2026-07-12 | 417/417 pytest、CCS5 静态库、mixed C/ASM DSS | ✅ |
质量基准
Python pytest417/417DSPlib .text 匹配161/161DSPlib 可重定位链接161/161DSS 串行验证161/161MATHLIB same-source144/144Full-ISA probes63/63CCS5 静态库构建通过Mixed C/ASM DSSdone=1 failures=0
技术架构
汇编器工作流程
flowchart LR
ASM["📄 .asm 汇编源文件"] --> PARSE["🔍 解析器
识别助记符+操作数"] PARSE --> ENCODE["🔢 编码器
按SPRUGH7手册
生成32位机器码"] ENCODE --> OBJ["📦 .obj 目标文件
COFF格式"] OBJ --> VERIFY["✅ 验证
与TI asm6x
逐字节.text对比"] style PARSE fill:#3987e5,color:#fff style VERIFY fill:#199e70,color:#fff
识别助记符+操作数"] PARSE --> ENCODE["🔢 编码器
按SPRUGH7手册
生成32位机器码"] ENCODE --> OBJ["📦 .obj 目标文件
COFF格式"] OBJ --> VERIFY["✅ 验证
与TI asm6x
逐字节.text对比"] style PARSE fill:#3987e5,color:#fff style VERIFY fill:#199e70,color:#fff
Python 引擎是冻结的兼容性基线——后续 native V1 验证不是推翻重来,而是在相同基准上验证新实现,除非同一用例在 Python 基线也复现失败。
🎯 第一发布边界
首个正式发布覆盖 DSPlib 使用的助记符和操作数形式,而不是完整的 C66x ISA。接收标准:TI 链接器兼容 + DSS 运行时成功。.text 逐字节对比仍是主要回归度量。