asm-soc-mastery/
├── 00-zero-to-hero/                         # 前置:零基础入门(2~3天)
│   ├── 01-binary-hex.md
│   ├── 02-memory-address.md
│   ├── 03-cpu-fetch-decode-execute.md
│   ├── 04-what-is-instruction.md
│   ├── 05-registers-intro.md
│   ├── 06-stack-basics.md
│   ├── 07-first-assembly.md
│   ├── 08-addressing-modes.md
│   └── 09-practice-simulator.md

├── 01-essentials-cross-arch/                # 通用汇编核心(跨架构)
│   ├── 01-registers-calling-conv.md
│   ├── 02-memory-addressing.md
│   ├── 03-stack-frame-call-ret.md
│   └── 04-condition-flags-branch.md

├── 02-arch-decision/                        # 架构哲学与选型
│   ├── 01-x86-cisc-legacy.md
│   ├── 02-arm-pragmatic.md
│   ├── 03-riscv-modular.md
│   ├── 04-memory-model.md
│   └── 05-isa-tradeoffs.md

├── 03-cpp-to-asm-live/                      # C++写法 → 汇编映射(实战决策)
│   ├── 01-optimization-levels.md
│   ├── 02-function-call-overhead.md
│   ├── 03-loop-vectorization.md
│   ├── 04-branchless-tech.md
│   ├── 05-struct-bitfields.md
│   ├── 06-atomic-mutex.md
│   ├── 07-smart-ptr-cost.md
│   ├── 08-virtual-dispatch.md
│   ├── 09-lambda-std-function.md
│   └── 10-exceptions-rtti.md

├── 04-hdl-basics/                           # 通用硬件描述语言(与指令集实现关联)
│   ├── 01-rtl-intro.md                      # 寄存器传输级,并发 vs 顺序,与汇编的相似性
│   ├── 02-verilog-vhdl-syntax.md            # 最简语法对照(always/process, assign, 模块)
│   ├── 03-from-asm-to-alu.md                # 一条加法指令在 RTL 中的数据通路
│   ├── 04-register-file.md                  # 寄存器堆的 HDL 实现(并发赋值到物理寄存器)
│   ├── 05-simple-processor-core.md          # 一个极小 RISC-V 核的 HDL 片段(译码→执行→写回)
│   ├── 06-memory-controller.md              # 用 HDL 描述内存接口(字节使能、等待周期)
│   └── 07-hdl-simulation-tools.md           # 开源工具链(Verilator, GHDL, GTKWave)快速上手

├── 05-soc-essentials/                       # SoC 与系统级理解(技术选型必备)
│   ├── 01-what-is-soc.md                    # 片上系统:CPU + 总线 + 内存 + 外设 + 中断控制器
│   ├── 02-memory-map-and-peripherals.md     # 内存映射寄存器、MMIO、DMA(汇编中如何访问外设)
│   ├── 03-bus-protocols.md                  # AXI/AHB/APB 基本概念(为什么不同地址有不同等待时间)
│   ├── 04-interrupts-exceptions.md          # 中断向量表、异常处理流程(汇编中的 IRQ 处理)
│   ├── 05-boot-process.md                   # 从复位到 main():启动文件、链接脚本、栈初始化
│   ├── 06-baremetal-driver.md               # 用汇编/C 写一个最简单的 UART 驱动(内存映射寄存器)
│   └── 07-soc-decision-guide.md             # 如何选择一个 SoC:核心数量、外设集成、生态(RTOS/Linux)

├── 06-tooling-practice/                     # 工具与实践(贯穿所有)
│   ├── 01-vs-disassembly.md
│   ├── 02-godbolt-workflow.md
│   ├── 03-objdump-diff.md
│   └── 04-qemu-system.md                    # QEMU 模拟完整 SoC(如 vexpress, virt)单步调试

└── README.md                                # 学习路径(含零基础路线和四大件路线)