基础知识(二)+ 寄存器(CPU工作原理)一

本文详细介绍了8086 CPU的架构原理,包括总线连接、存储器管理、寄存器使用以及指令集的基本操作。同时,还介绍了如何通过分段的方式来管理内存,并解释了16位机的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主板上的器件通过总线相连

扩展插槽上插有RAM内存条和接口卡

 

接口卡上也有RAM, 对数据暂时存储, 显存作用为: 将显示的内容写入显存,会显示在显示器上

 

CPU将各类存储器看成一个逻辑存储器, 每个物理存储器在这个逻辑存储器中占有一个地址段

 

注意:若CPU向ROM存储器代表的内存单元中写入数据的操作时没有用的,该内存单元不会改变

 

通用寄存器用来存放一般性的数据。一个16位的寄存器可以存储一个16位的数据。 8086CPU可将该寄存器分为两个可独立使用的8位寄存器。

 

一个字由两个字节组成,可以存在一个16位寄存器中。

 

mov ax,18(mov 为传送指令)

 

add ax,8 不区分大小写   注意执行 add ax,87H 与add al,87H的区别 后者计算机看成独立的8位寄存器 ,无进位。

 

16位机的意思就是:运算器一次最多处理16位, 寄存器最大宽度16位,寄存器和运算器之间的通路位16位。

 

8086 为16位机, 但它的地址总线有20位, 所以它采用一种在内部用两个16位地址合成的方法形成一个20位的物理地址。其中一个为段地址,另一个味偏移地址。

通过内部总线送入一个地址加法器 的部件,合成一个20位的物理地址。  地址加法器采用物理地址=段地址*16+偏移地址

 

8086采用分段的方式管理内存。段地址*16 为段的起始地址,偏移地址定位段中的内存单元。 偏移地址为16位, 寻址能力为64KB, 所以一个段的长度最大为64KB。

 

例如: 地址10000H-100FFH的内存单元组成一个短,起始地址为10000H, 段地址为1000H, 大小为100H --> 偏移地址从0H-FFH 共100H

 

数据存在21F60H内存单元中 应说数据存在内存2000:1F60单元中

 

段地址在段寄存器中存放 CS,DS,SS,ED

CS为代码段寄存器 M,IP为指令指针寄存器 N, CPU从内存M*16+N单元开始读取指令并执行。

输入输出控制电路将内存单元存放的机器指令通过数据总线送入CPU, 送入指令缓冲区,读取一条指令后IP值自动增加。增加长度为上一条指令的长度。 8086加电启动或复位后CS=F000H IP=FFFFH

 

CPU将CS:IP指向的内存单元中的内容看成指令。

 

mov无法设置CS IP的值  能够改变它们的内容的指令叫做转移指令 如 jmp指令。

 

例如: jmp 2AE3:3 执行后 CS=2AE3H IP=0003H

 

jmp 某一寄存器: 如: jmp ax 指用寄存器中的值修改IP

 

debug: 可以查看寄存器的内容,内存的情况,跟踪程序的运行。

在运行中输入command可以进入dos方式

-r 查看寄存器内容 或改变: -r ax/cs/ip 即可

 

-d 段地址:偏移地址, 查看从指定内存单元开始的128个内存单元的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值