提交 0646239b 创建 作者: 赵鹏翀's avatar 赵鹏翀

Initial commit

上级
*.cir
*.xml
*.bak
/.vs
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<project id="f97e424a-ba19-4297-a4ff-05cdea3f0011" name="8086" version="1">
<files>
<filefolder id="c581f7a9-6dd9-40df-bf4a-bc4ebe8225cc" name="子模块">
<file relativepath="ALU.dlsche"/>
<file relativepath="CU.dlsche"/>
<file relativepath="PC.dlsche"/>
<file relativepath="uPC_NEXT.dlsche"/>
<file relativepath="BRANCH.dlsche"/>
<file relativepath="FLAG.dlsche"/>
<file relativepath="REGS.dlsche"/>
<file relativepath="rom.masm"/>
<file relativepath="rom.rxm"/>
<file relativepath="rom.bat"/>
</filefolder>
<file relativepath="8086.dlsche"/>
<file relativepath="README.md"/>
<file relativepath="8086.pdf"/>
</files>
</project>
添加文件
差异被折叠。
添加文件
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
添加文件
差异被折叠。
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
添加文件
差异被折叠。
添加文件
差异被折叠。
# 说明
这里实现了一个简化的 8086 微处理器,其已具备了基本的功能,完全可以满足基于 8086 处理器的`微机原理与接口技术`实验。但是,为了提高仿真效率,降低学习难度,与真实的 8086 微处理器相比,这里实现的 8086 进行了合理的简化,更多细节可参看下面的表格。
此外,需要说明的是,简化的 8086 微处理器与真实的 8086 微处理器在机器指令级别是不兼容的,也就是说将一个可以在真实 8086 上运行的可执行程序直接放到简化的 8086 上是无法运行的。但是它们的汇编语言语法和汇编指令是兼容的,也就是说,将一段为简化的 8086 编写的汇编程序源代码用真实 8086 的汇编器生成一个可执行程序后,是可以在真实的 8086 上运行的。
| 对比项目 | 真实的 8086 | 简化的 8086 |
| ------ | ---------- | ---------- |
| 数据线 | 16 根 | 8 根 |
| 地址线 | 20 根 | 8 根 |
|寄存器|段寄存器、通用寄存器、栈寄存器、标志寄存器等均为 16 位|只提供了 8 位的通用寄存器、栈寄存器、标志寄存器,没有提供段寄存器|
|寻址方式|段地址加偏移地址得到物理地址,最多可访问 1MB 物理内存|由于没有提供段寄存器,所以直接使用物理地址,最多可以访问 256B 物理内存|
|起始位置|加电复位后进入 Big Mode,从一个固定的 CS:IP 开始执行 ROM 中的 BIOS 程序|加电复位后 PC 寄存器初始化为 0x10,也就是从物理内存的 0x10 处的第一条指令开始执行|
|指令集|支持完整的 8086 指令集|只实现了 8086 指令集的一个子集|
| 中断向量表 | 从物理地址 0 开始的 1KB,可存放 256 个中断向量,每个占用 4 字节,存放了中断处理程序入口的段地址和偏移地址 | 从物理地址 0 开始的 16 字节,存放了 16 个中断向量,每个占用 1 字节,存放了中断处理程序入口的物理地址|
# Datasheet
[8086.pdf](8086.pdf)
# 原理图
![raw svg](8086.dlsche.svg)
\ No newline at end of file
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
差异被折叠。
添加文件
@echo off
microasm.exe rom.masm -o rom.rxm -l rom.lst -g rom.dbg
pause
\ No newline at end of file
添加文件
差异被折叠。
差异被折叠。
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG߿GGGGGGGGGGGGGG?_GG߿GGпGGG?G?GGGG߿G߿߿GG
\ No newline at end of file
添加文件
差异被折叠。
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论