Commit Graph
6 Commits
Author SHA1 Message Date
Admin efe4dd1a2c 12.9 步骤 2:VM 译码 switch(标量/跳转/LOAD-STORE)。
- Machine.cpp:create(拷贝数据段+建 MAIN 帧)、run_cycle、step、exec_one
- 标量:MOVE/LOADK(常量表 tag 定值表示)/NOT/AND/OR/四则饱和/CMP 全宽比较
- 跳转:JMP/JT/JF(相对下一条);LOAD/STORE:slot×8 定宽槽,BadSlot 校验
- 寄存器越界检查按指令形态(a|b 作偏移/槽号/常量 id 时不查)
- 修:ImageView 默认构造公开(无效态)、Codegen 两个编译警告
- 冒烟:用例 02/04/07/05 跑通、06 触发 CycleLimit、step 单步
2026-08-21 20:16:28 +08:00
Admin c378411637 落地映像读写:72 字节头、段布局、FNV-1a、.stb 与 sidecar。
- 指令与映像.md 冻结:头字段表、常量表/函数表行、段序、数据段对齐、sidecar 格式
- Types.h 补 TypeTag;Image.h/cpp:ImageView 校验、write_ret_main、文件与 sidecar
- isa CMake 改 target_include_directories PUBLIC
2026-08-19 14:40:38 +08:00
Admin eba48f852e 实现指令编解码与反汇编,冻结 disasm 格式。
- Encode.h/Encode.cpp:encode/decode 往返 + disasm 一行文本
- 指令与映像.md 新增反汇编格式表(9 种形态 + 未知操作码)
- Op.h STORE_* 注释对齐 disasm(rs, slot 寄存器在前)
2026-08-19 14:06:20 +08:00
Admin 94accd52c3 落地 isa 合同:饱和类型、操作码枚举、32-bit 指令编解码。
- Types.h:TIME 改 int64_t(毫秒),补 sat_add/sub/mul/div,除零与 INT_MIN/-1 规则
- Op.h:29 条操作码枚举 + mnemonic 助记符,数值即编码
- Instr.h:pack/拆字段 + 按形态 enc_rr/rrr/imm/jmp/jc/slot/call/ret
2026-08-19 13:59:48 +08:00
Admin 9a35a881d1 建立四模块 CMake 骨架与 line1 样例。
- compiler / vm 空静态库,host 可执行打印版本
- 顶层解开 add_subdirectory,tests 接入 CTest(host_version 通过)
- examples/line1 落地 project.toml 与三个 .st
- Types.h 注释补饱和规则,与 Doc/isa 一致
- .gitignore 忽略 Doc/会话记录.md
2026-08-19 10:09:27 +08:00
AdminandCursor ff244888c3 落地 isa 静态库骨架与 Types 头。
先挂 Encode.cpp 和定宽类型别名,规范仍以 Doc 为准。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-18 17:48:09 +08:00