资源介绍
51CTO·李述铜·虚拟机设计:从0写8051虚拟机
课程采用从0行代码编写的方法,通过一步步的开发,最终完成一个8051芯片的虚拟机。该虚拟机完整地支持所有标准8051内核指令集的解析和运行。同时支持中断、串口、定时器等部分外设的功能模拟。
在课程中,将会参考8051内核的指令集手册,逐条分析CPU的各指令集。分析其指令编码,了解不同的寻址模式,分析其具体的执行过程,最后实现指令的加载、执行。通过这样的过程,提供了深入理解计算机指令运行的好机会。
在课程的最后,该虚拟机将会被移植到ST公司的STM32芯片(ARM内核)上,从而实现类似JAVA程序的一次编译、多个平台运行的效果。
资源目录
├──{1}–课程简介
| ├──[1.1]–课程简介 .mp4 10.74M
| ├──[1.2]–软件安装与介绍 .mp4 55.82M
| ├──[1.3]–8051体系结构简介 .mp4 42.30M
| └──[1.4]–指令集简介 .mp4 55.58M
├──{2}–建立指令解析框架
| ├──[2.10]–打印运行结果信息 .mp4 47.35M
| ├──[2.1]–初始化虚拟机 .mp4 38.21M
| ├──[2.2]–建立基本的运行流程 .mp4 72.36M
| ├──[2.3]–初次解析指令运行 .mp4 45.80M
| ├──[2.4]–加载hex文件 .mp4 148.04M
| ├──[2.5]–循环遍历检测多个文件 .mp4 38.66M
| ├──[2.6]–实现内存测试(1) .mp4 86.69M
| ├──[2.7]–实现内存测试(2) .mp4 28.93M
| ├──[2.8]–实现内存测试(3) .mp4 112.01M
| └──[2.9]–实现运行结果测试 .mp4 133.29M
├──{3}–数据传输类指令
| ├──[3.10]–交换类指令 .mp4 100.92M
| ├──[3.1]–建立指令描述表 .mp4 117.88M
| ├──[3.2]–数据传输类MOV指令(1) .mp4 169.46M
| ├──[3.3]–数据传输类MOV指令(2) .mp4 77.88M
| ├──[3.4]–数据传输类MOV指令(3) .mp4 50.76M
| ├──[3.5]–数据传输类MOV指令(4) .mp4 59.57M
| ├──[3.6]–数据传输类MOV指令(5) .mp4 187.72M
| ├──[3.7]–数据传输类MOVC指令 .mp4 89.14M
| ├──[3.8]–数据传输类MOVX指令 .mp4 72.10M
| └──[3.9]–出栈入栈指令 .mp4 103.30M
├──{4}–逻辑运算类指令
| ├──[4.1]–逻辑与指令ANL的解析 .mp4 68.24M
| ├──[4.2]–逻辑或ORL指令的解析 .mp4 35.96M
| ├──[4.3]–异或XRL指令的解析 .mp4 24.82M
| ├──[4.4]–取反和移位指令 .mp4 118.97M
| └──[4.5]–处理psw的奇偶校验位 .mp4 27.42M
├──{5}–算术运算类指令解析
| ├──[5.1]–加法指令add(1) .mp4 64.96M
| ├──[5.2]–加法指令add(2) .mp4 40.16M
| ├──[5.3]–自增指令inc .mp4 41.73M
| ├──[5.4]–自减指令dec .mp4 23.08M
| ├──[5.5]–减法指令subb(1) .mp4 39.32M
| ├──[5.6]–减法指令subb(2) .mp4 34.40M
| └──[5.7]–乘法mul,除法div,da指令 .mp4 118.63M
├──{6}–跳转类指令
| ├──[6.1]–跳转、调用与函数返回指令(1) .mp4 101.56M
| ├──[6.2]–跳转、调用与函数返回指令(2) .mp4 61.48M
| ├──[6.3]–条件跳转类指令(1) .mp4 113.63M
| ├──[6.4]–条件跳转类指令(2) .mp4 97.42M
| ├──[6.5]–位运算与跳转类指令(1) .mp4 103.04M
| └──[6.6]–位运算与跳转类指令(2) .mp4 109.95M
├──{7}–模拟外设
| ├──[7.1]–实现串口的发送(1) .mp4 45.93M
| ├──[7.2]–实现串口的发送(2) .mp4 92.31M
| ├──[7.3]–实现串口的接收 .mp4 55.92M
| ├──[7.4]–定时器模拟 .mp4 73.75M
| ├──[7.5]–中断系统模拟 .mp4 109.11M
| └──[7.6]–支持不同的寄存器组 .mp4 94.82M
└──{8}–不同平台移植
| └──[8.1]–移植虚拟机到ARM芯片(Cortex-M3) .mp4 34.01M