想搞懂 CPU 到底怎么跑指令,光看教材容易卡在寻址模式和编码格式上。这套课程直接动手,从零行代码开始写一个 8051 虚拟机,把指令集手册里的每条指令拆开,逐条分析编码、寻址模式和执行过程。目前整理到 v1.2 版本,含 12 个课时的源码和配套笔记,Windows、Linux、macOS 下都能编译运行。
整体分三步走:
1. 对照 8051 内核指令集手册,解析指令格式与分类,理清 CPU 运行逻辑;
2. 实现指令加载与执行,完整支持标准 8051 指令集,并模拟中断、串口、定时器等外设;
3. 把虚拟机移植到 STM32(ARM 内核)上,做出类似 Java 一次编译、多平台运行的效果。
技术点主要集中在数据传输类MOV指令的编码实现,以及 STM32 平台上的移植适配。配套源码按课时分目录,每个阶段都有可运行的中间版本,方便对照调试。适合已经会 C 语言、想从底层理解 CPU 执行流程的人跟着敲一遍。走完这套,指令集手册不再是天书,虚拟机也不再是抽象概念。
资源目录:
1-1 课程简介.mp4
1-3 软件安装与介绍.mp4
1-5 指令集简介.mp4
2-1 初始化虚拟机.mp4
2-2 建立基本的运行流程.mp4
2-3 初次解析指令运行.mp4
2-4 加载hex文件.mp4
2-5 循环遍历检测多个文件.mp4
2-6 实现内存测试(1).mp4
2-7 实现内存测试(2).mp4
2-8 实现内存测试(3).mp4
2-9 实现运行结果测试.mp4
2-10 打印运行结果信息.mp4
3-1 建立指令描述表.mp4
3-2 数据传输类MOV指令(1).mp4
3-3 数据传输类MOV指令(2).mp4
3-4 数据传输类MOV指令(3).mp4
3-5 数据传输类MOV指令(4).mp4
3-6 数据传输类MOV指令(5).mp4
3-7 数据传输类MOVC指令.mp4
3-8 数据传输类MOVX指令.mp4
3-9 出栈入栈指令.mp4
3-10 交换类指令.mp4
4-1 逻辑与指令ANL的解析.mp4
4-2 逻辑或ORL指令的解析.mp4
4-3 逻辑异或XRL指令的解析.mp4
4-4 取反和移位指令.mp4
4-5 处理psw的奇偶校验位.mp4
5-1 加法指令add(1).mp4
5-2 加法指令add(2).mp4
5-3 自增指令inc.mp4
5-4 自减指令dec.mp4
5-5 减法指令subb(1).mp4
5-6 减法指令subb(2).mp4
5-7 乘法mul_ 除法div_ da指令.mp4
6-1 跳转、调用与函数返回指令(1).mp4
6-2 跳转、调用与函数返回指令(2).mp4
6-3 条件跳转类指令(1).mp4
6-4 条件跳转类指令(2).mp4
6-5 位运算与跳转类指令(1).mp4
6-6 位运算与跳转类指令(2).mp4
7-1 实现串口的发送(1).mp4
7-2 实现串口的发送(2).mp4
7-3 实现串口的接收.mp4
7-4 定时器模拟.mp4
7-5 中断系统模拟.mp4
7-6 支持不同的寄存器组.mp4
8-1 移植虚拟机到ARM芯片(Cortex-M3).mp4
simu8051.zip


评论0