admin 发表于 2026-9-22 07:04:21

虚拟机设计:从0构造8051虚拟机

从零行代码起步,逐条啃完8051指令集手册,把指令编码、寻址模式和执行过程一条条拆开分析,最后拼出一个能跑标准8051内核指令的虚拟机。中断、串口、定时器这些外设也做了模拟,不是只跑个空壳。

整个流程大致分三步:
1. 对照手册解析指令编码,搞清楚每条指令怎么寻址、怎么执行;
2. 实现指令加载与运行,让内核真正跑起来;
3. 把虚拟机移植到STM32(ARM内核)上,做到类似Java那种一次编译、多平台运行的效果。

配套源码齐全,适合想弄明白CPU指令到底怎么跑、或者对数据传输类MOV指令这类底层细节感兴趣的同学。跟着走一遍,比单看手册理解得深。

资源目录:
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



**** Hidden Message *****

茹蕙zx 发表于 2026-9-22 07:10:01

先收藏了,想搞懂指令执行流程的可以跟一遍。

是鹅好甜 发表于 2026-9-22 08:10:03

先转存了,STM32那块注意下编译器版本就行。

一身似水厝 发表于 2026-9-22 09:20:00

想先看1-5指令集简介那节,MOV这类底层细节一直没搞明白。

小饱1 发表于 2026-9-22 10:20:00

先存网盘,回头照着1-3把软件环境搭上。

真无牙泛 发表于 2026-9-22 11:20:02

正想补指令集这块,1-5那节适合先把MOV寻址搞明白再往下跟。

落日余晖97 发表于 2026-9-22 12:30:02

先存了,跟到STM32移植那步记得对下Keil版本。

卡扎菲遇本拉遇h 发表于 2026-9-23 08:00:01

先存,跑STM32那步留意下工程路径别带中文。

深圳林妙可 发表于 2026-9-23 09:10:00

先转存了,1-5指令集那节回头慢慢啃。

哦也X5 发表于 2026-9-23 10:10:00

先存了,跟STM32移植那步记得装好对应ARM运行库。
页: [1] 2 3
查看完整版本: 虚拟机设计:从0构造8051虚拟机