第八天学习文档

文章详细介绍了8086CPU的结构,包括其16位的寄存器如AX、BX等,以及它们在存储和运算中的作用。此外,还讨论了地址总线、数据总线和控制总线的功能,以及CPU如何通过它们进行寻址和数据传输。文章还提到了汇编语言,包括汇编指令、伪指令和存储单元的概念。
摘要由CSDN通过智能技术生成

汇编语言

  • 机器语言

CPU:执行机器指令,进行运算。(中央处理单元),是一种微处理器。

每一种微处理器都有自己的机器指令集,也就是机器语言。

  • 汇编语言:

主体:汇编指令,是机器指令便于记忆的书写格式

  • 寄存器

CPU中可以存储数据的器件,一个CPU中有多个寄存器。

不同 CPU 寄存器数量,结构不同,下面说的都是 8086CPU
8086CPU 的构造

每个寄存器都是 16 位的,可以存放 2Byte 寄存器的分类:
1. 通用寄存器: AX, BX, CX, DX 。存放普通数据,也有特殊用途。
注:为了保证兼容性,通用寄存器可以把 2Byte 分成 2 1Byte 使用。高位是 xh ,地位是 xl
2. 指针和变址寄存器: BP,SP,SI,DI
3. 指令指针寄存器: IP
4. 段寄存器: CS,DS,ES,SS
5. 状态条件寄存器: PSW
  • 编译器:程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码

  • 汇编语言的组成
  1. 汇编指令:机器码的助记符,有对应的机器码。
  2. 伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
  3. 其他符号:如+,-,*,/等,由编译器识别,没有对应的机器码。

汇编语言的核心是汇编指令,它决定了汇编语言的特性。 

  • 存储单元:8个bit组成一个Byte。一个存储单元可以存储128个Byte。

存储单元的编号

一般用B来代表Byte

  •  CPU对存储器的读写

要和外部器件进行下面三类信息的交互

  1. 存储单元的地址
  2. 器件的选择,读或写的命令(控制信息)
  3. 读或写的数据(数据的信息)

总线

地址总线
功能: CPU 告诉内存,我要访问的内存地址单元的编号是什么
寻址能力:因为 CPU 是计算机的核心,所以数据存放在内存的位置要保证 CPU 能访问到,因此地址
总线数量决定了寻址能力。寻址能力 =2^( 地址总线数量 )×1B( 一个单元存放 1B 的内容 )
数据总线
功能: CPU 与内存之间传输数据
最大可传输数据:数据总线的数量决定了 CPU 一次性最大可传输数据。我们知道 1Byte=8bit ,所以
8 根数据总线就是 1B
控制总线
功能:传送指令信号
最大指令数量:每一条指令在不同 CPU 中有不同的编号,比如某个 CPU 中, 1 代表 add 2 代表
sub 。控制总线传送指令,实质就是传送指令编号。我们还知道计算机是 2 进制的,所以最大指令数
=2^( 控制总线数量 )

 

 

 

 小结

第二章 寄存器

 8086CPU的寄存器都是十六位的,可以存放两字节。

AX,BX,CX,DX这四个寄存器通常用来存放一般性的数据,被称为通用寄存器。

这四个寄存器都可分为两个可独立使用的8位寄存器来用:

  • AX可分为AH和AL
  • BX可分为BH和BL
  • CX可分为CH和CL
  • DX可分为DH和DL

  • 字在寄存器中的存储

8086CPU一次性可以处理以下两种尺寸的数据

  • 字节:记为Byte,一个字节由8个bit组成,可以存在8位寄存器中
  • 字:几位word,一个字由两个字节组成,这两个字节分别称为这个字的高位字节和低位字节
  • 几条汇编指令
 写汇编指令或寄存器的名称时可不区分大小写

  •  物理地址:所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,我们将这一个唯一的地址称为物理地址。

 CPU通过地址总线送入存储器的,必须是一个内存单元的物理地址

  • 16位结构描述了CPU具有以下几个方面的结构特性
  1. 运算器一次最多可以处理16位的数据
  2. 寄存器的最大宽度为16位
  3. 寄存器和运算器之间的通路为16位

对于16位CPU,能一次性处理、传输、暂时存储16位的地址。

CPU 寻址
8086CPU 的地址线数量是 20 ,但是我们知道寄存器的大小都是 16 CPU 寻址要解决的问题就是如何通过
16 位输出 20 位的信息
解决办法:说 2 次。 CPU 中有一个地址加法器,其他部件分别告诉它段地址和偏移地址,地址加法器就计
段地址 ×16+ 偏移地址 = 物理地址 ,再把这个物理地址告诉输入输出控制电路
重要寄存器的功能说明(这里说的是 CPU 默认的功能)
CS :指令段地址
deIP :指令偏移地址
DS :访存时的段地址
SS :栈顶的段地址
SP :栈顶的偏移地址(入栈出栈只改变 SP 的值)
CX :循环次数

查看CPU和内存,用机器指令和汇编指令编程

Debug:

Debug是Dos,Windows都提供的实模式程序的调试工具。使用它,可以查看CPU各种寄存器中的内容、内存的情况何在机器码及跟踪程序的运行。

  • Debug功能:
  • r:查看,改变CPU寄存器的内容
  • d:查看内存中的内容
  • e:改写内存中的内容
  • u:将机器中的机器指令翻译成汇编指令
  • t:执行一条机指令
  • a:以汇编指令的格式在内存中写入一条机器指令

第三章 寄存器(内存访问)

CPU要读写一个内存单元时,必须先给出这个内存单元的地址,在8086PC中,内存地址由段地址和偏移地址组成。8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址。

  • 字的传送

在mov指令中给出16位的寄存器就可以进行16位数据的传送了

eg:

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值