《汇编语言》 第二章 寄存器

本文详细介绍了8086CPU的寄存器,包括通用寄存器、物理地址的计算方式、16位结构特点以及如何通过段地址和偏移地址合成物理地址。此外,还探讨了CS和IP寄存器的作用以及如何修改它们的值以控制指令执行。

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

第2章 寄存器

典型的CPU由 运算器、控制器、寄存器等器件构成。
器件靠内部总线相连。

  • 运算器进行信息处理;
  • 寄存器进行信息存储;
  • 控制器控制各种器件进行工作
  • 内部总线连接各种器件,在他们之间进行数据的传送。

寄存器是CPU中 程序员可以用指令读写的部件。

2.1 通用寄存器

8086CPU所有寄存器都是16位的,可以存放两个字节。
AX、BX、CX、DX4个寄存器通常用来存放一般性的数据,称为通用寄存器

例如AX:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 字在寄存器中的存储

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

  • 字节:byte,8个bit; 8位寄存器中;
  • 字:word,两个字节; 高位字节、低位字节。

H、B

2.3 几条汇编指令

在这里插入图片描述

  • 汇编指令,不区分 大小写;
  • 注意指令的两个操作对象的位数应但是一致的;

2.4 物理地址

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

CPU通过地址总线送入存储器的,必须是一个内存单元的物理地址;
在CPU向地址总线上发出物理地址之前,必须要在内部先形成这个物理地址;
不同CPU由不同的形成物理地址的方式;

2.5 16位结构的CPU

n位结构,描述了一个CPU具有下面的结构特性:

  • 运算器一次最多可以处理n位数据;
  • 寄存器最大宽度是 n位;
  • 寄存器和运算器之间的通路是 n 位;

能一次性处理、传输、暂时存储信息的最大长度是 n 位。

2.6 8086CPU给出物理地址的方法

8086CPU采用一种在内部用两个16位地址合成的方法形成一个20位的物理地址。
在这里插入图片描述

地址加法器采用: 物理地址=段地址*16+偏移地址 的方法用端地址和便宜地址合成物理地址。

在这里插入图片描述

2.7 “段地址*16+偏移地址=物理地址”的本质含义

两个 低位 计算出 高位

2.8 段的概念

在这里插入图片描述
在这里插入图片描述

2.9 段寄存器

8086CPU有 4 个段寄存器:CS、DS、SS、ES;

2.10 CS和IP

CS位代码段寄存器; IP为指令指针寄存器;
例如:CS为M, IP为N, cpu将从内存 M*16 + N 内存单元,读取一条指令并执行。
在这里插入图片描述

8086CPU工作过程简要描述:
1、从CP:IP指向的内存单元 读取指令, 读取的指令进入指令缓冲器;
2、IP=IP+所读取指令的长度,从而指向下一条指令;
3、执行指令。 转到(1),重复;

区分内存或指令:将CS:IP 指向的内存单元中的内容看作指令;

2.11 修改CS、IP的指令

程序员能够 用指令读写的部件只有 寄存器;
程序员可以通过改变寄存器中的内容实现对CPU的控制;
CPU从何处执行指令是由CS、IP中的内容决定的;程序员可以通过改变CS、IP中的内容来控制CPU执行目标指令;

修改寄存器的值: mov ax,123;等等
但是mov指令不能用于设置 CS、IP的值;有另外的指令:jmp
jmp 段地址:偏移地址

例如: jmp 2AE3:3, CS=2AE3H, IP=0003H; CPU将从2AE33H处读取指令。

若只想修改IP的内容: jmp 某一合法寄存器; jmp ax, 含以上好似:mov IP, ax
在这里插入图片描述

2.12 代码段

将一组内存单元定义为一个段,用来存放代码,从而定义了一个代码段;

将代码段中的指令被执行:
CPU只认被 CS:IP指向的内存单元中的内容为指令。
所以必须 要将CS:IP指向所定义的代码段中的第一条指令的首地址;

比如,一段代码存放在 123B0H - 123B9H; 可设 CS=123BH、IP=0000H
在这里插入图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值