CPU8bit 项目使用教程
CPU8bit 项目地址: https://gitcode.com/gh_mirrors/cp/CPU8bit
1. 项目目录结构及介绍
CPU8bit/
├── LICENSE
├── README.md
├── asm.py
├── cpu8bit.circ
├── programs/
│ └── example.asm
└── sample.png
目录结构说明
- LICENSE: 项目的开源许可证文件。
- README.md: 项目的介绍文件,包含项目的基本信息和使用说明。
- asm.py: 项目的汇编器脚本,用于将汇编代码转换为机器码。
- cpu8bit.circ: 项目的主要文件,包含了8位CPU的Logisim电路设计。
- programs/: 存放示例汇编程序的目录。
- example.asm: 一个示例汇编程序文件。
- sample.png: 项目电路设计的示例图片。
2. 项目启动文件介绍
cpu8bit.circ
cpu8bit.circ
是项目的主要启动文件,包含了8位CPU的Logisim电路设计。用户可以通过打开这个文件来查看和模拟CPU的运行情况。
启动步骤
- 安装Logisim模拟器。
- 打开Logisim模拟器。
- 在Logisim中打开
cpu8bit.circ
文件。 - 在Logisim中运行和调试CPU电路。
3. 项目配置文件介绍
asm.py
asm.py
是项目的汇编器脚本,用于将汇编代码转换为机器码。用户可以通过修改这个脚本来定制汇编器的功能。
配置说明
- Mnemonics: 汇编指令的助记符和对应的操作。
- Registers: CPU的寄存器配置。
示例配置
# Mnemonics Action
0 AND Ra, Rb # Ra &= Rb
1 OR Ra, Rb # Ra |= Rb
2 ADD Ra, Rb # Ra += Rb
3 SUB Ra, Rb # Ra -= Rb
4 LW Ra, (Rb) # Ra = Mem[Rb]
5 SW Ra, (Rb) # Mem[Rb] = Ra
6 MOV Ra, Rb # Ra = Rb
7 INP Ra # Ra = Inp
8 JEQ Ra, value|label # PC = value|label if Ra == 0
9 JNE Ra, value|label # PC = value|label if Ra != 0
a JGT Ra, value|label # PC = value|label if Ra > 0
b JLT Ra, value|label # PC = value|label if Ra < 0
c LW Ra, value|label # Ra = Mem[value|label]
d SW Ra, value|label # Mem[value|label] = Ra
e LI Ra, value|label # Ra = value|label
f JMP value|label # PC = value|label
# Registers
## Name Description
00 R0 User data
01 R1 User data
10 R2 User data (output pins A0-A7)
11 R3 User data (output pins B0-B7)
通过修改asm.py
中的配置,用户可以自定义汇编指令和寄存器的行为。