第2章 80x86微处理器概论

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020年11月20日星期五
14
8086/8088段寄存器与提供段内移地址的 寄存器之间的默 认 组 合
段寄存器 CS DS SS ES
提供段内偏移地址的寄存器 IP
BX、SI、DI或一个16位数 SP或BP
DI(用于字符串操作指令)
专用寄存器
类别 16位 8位
名称
作用
专用 IP 无 寄存器
FLAG 无
2020年11月20日星期五
6
数据寄存器AX、BX、CX和DX
➢16位寄存器
✓高低8位可分为两个独立寄存器使用;
➢主要用于暂存指令执行过程中的数据;
➢特殊用途
✓AX:累加器,ALU运算核心部件、某些指令的默认寄存器;
✓BX:基址寄存器,存放存储单元的有效地址;
✓CX:计数器,串操作指令和循环指令中的默认计数器;
✓ 专用寄存器:CPU运行的辅助工具。
2020年11月20日星期五
4
通用寄存器
类别
16位
8位
AX 数据 BX 寄存器 CX
AH、AL BH、BL CH、CL
DX DH、DL
变址 SI

寄存器 DI

堆栈指针 SP

寄存器 BP

2020年11月20日星期五
名称
作用
累加器
常作隐含操作数,可通用
基地址寄存器 常作地址指针,可通用
✓ CPU利用CS:IP形成存储单元的物理地址,以获取下 条要执行指令的代码。
2020年11月20日星期五
11
DS (Data Segment)
数据段 ✓ 用来存放程序运行所需要的数据; ✓ 段首地址用数据段寄存器DS来保存; ✓ CPU利用DS:EA形成存储单元的物理地址,以获取数 据段中的数据;
AH
AL
➢ 16位寄存器可以存储2个字节的数据;无符号数范围为0~65535
有符号数范围为-32768~+32767
✓ 例如,数值2008H存放于AX累加器中。
➢ AX可分做两个8位的寄存器使用,分别为AH和AL。
✓ (AX)=2008H,则(AH)=20H,(AL)=08H;
➢ BX、CX、DX类似。
何单元。
2020年11月20日星期五
堆栈
321
3
2
1
栈顶
9
段寄存器
类别
16位 8位
名称
作用
段寄存器
CS 无 DS 无 ES 无 SS 无
代码段段寄存器 数据段段寄存器 附加段段寄存器 堆栈段段寄存器
存放代码段段地址 存放数据段段地址 存放附加段段地址 存放堆栈段段地址
➢ 一段汇编语言程序至少有一个逻辑段——代码段,用于存放 代码;
➢ 一段汇编语言程序最多有4个逻辑段——1个代码段,3个数据 段,分别用于存放代码和数据;
2020年11月20日星期五
10
CS (Code Segment)
代码段
✓ 用来存放要执行的指令序列; ✓ 段首地址用代码段寄存器CS来保存; ✓ 指令指针寄存器IP指示本段中的地址;
将要执行的下条指令的有效地址;
✓DX:与AX合用保存32位数据;I/O指令中存放端口地址。
2020年11月20日星期五
7
变址寄存器SI、DI
➢16位寄存器; ✓ 常作为指针,存放存储单元有效地址,也可暂存数据;
➢特殊用法: ✓ SI、DI中保存的地址信息可以随着指令的执行而自动改变; ✓ SI:源变址寄存器,串操作中存放源串地址,默认DS段; ✓ DI:目的变址寄存器,串操作中存放目的串地址,默认ES段; ✓ 该特殊用法只在字符串操作中有效,其它场合下作一般的指 针寄存器使用;
计数器
常存放计数值,可通用
数据寄存器
常与累加器配合,可通用
源变址寄存器 保存源操作数地址
目的变址寄存器 保存目的操作数地址
栈顶指针
只能保存堆栈栈顶地址
堆栈指针
可保存堆栈任意位置地址
5
累加器AX
AX
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0010000 000001000
2020年11月20日星期五
13
SS (Stack Segment)
➢ 堆栈
✓ 用于存储程序运行中需要临时保护的数据; ✓ 段首地址用堆栈段寄存器SS来保存; ✓ 堆栈指针寄存器SP保存堆栈栈顶的有效地址; ✓ CPU利用SS:SP对堆栈栈顶单元进行操作;
利用SS:BP对堆栈中的任一单元进行操作。
第2章 80X86微处理器
汇编语言基础
2.1.2 Intel 8086 CPU内部寄存器 2.2 存储器物理地址的形成 2.1.1 Intel 8086 CPU内部结构
接口技术基础
2.1.3 Intel 8086 微处理器引脚说明 补充 Intel 8086 CPU工作时序
2020年11月20日星期五
EA的形成方式详见第3章寻址方式的介绍。
2020年11月20日星期五
12
ES (Extra Segment)
附加段 ✓ 即附加的数据段,保存程序运行所需要的数据; ✓ 段首地址用附加段寄存器ES来保存; ✓ CPU利用ES:EA形成存储单元的物理地址,以获取附加 段中的数据; ✓ 串操作指令常将附加段ES作为目的操作数的存放区域。
指令指针寄存 器
标志寄存器
保存将要取出的指令有效地址 保存CPU当前的状态标志信息
➢ 指令指针IP
✓ 保存将要执行指令的有效地址;
✓ 该寄存器的内容是不允许人为更改的,通过指令的执行而 自动改变。
3
2.1.2 Intel 8086内部寄存器
➢ CPU中为什么要使用寄存器
✓ 寄存器比存储器存取速度快
✓ 使用灵活(如暂存运算的中间数据)、控制方便(如IP)
➢ 寄存器的分类
✓ 通用寄存器:传送和暂存数据;参与算术逻辑运算并保存
运算结果;
用户编程时所用到的CPU
✓ 段寄存器:保存段地址,用于寻址时构成物理地址;
2020年11月20日星期五
8
堆栈指针寄存器SP、BP
➢ 堆栈是一个先进后出的数据结构,栈底位
置不变;
1 23
来自百度文库
➢ 栈顶指针SP
✓ 其中始终存放栈顶单元的有效地址;
✓ 其值是由出入栈指令自动更改的,一
般不允许随意对该寄存器赋值;
➢ 堆栈指针BP
✓ 其中数据一般作为地址进行访存; ✓ 默认对应于SS段,可寻址堆栈中的任栈底
1
汇编语言基础
2.1.2 Intel 8086 CPU内部寄存器 2.2 存储器物理地址的形成 2.1.1 Intel 8086 CPU内部结构
2020年11月20日星期五
2
微型计算机的结构
控制器
输入设备
计算1+2+3
2020年11月20日星期五
存储器 运算器
输出设备
并不关心1+2 的中间结果!
相关文档
最新文档