第2章80x86微处理器资料

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
✓ CPU利用CS:IP形成存储单元的物理地址,以获取下 条要执行指令的代码。
2020年10月9日星期五
11
DS (Data Segment)
数据段 ✓ 用来存放程序运行所需要的数据; ✓ 段首地址用数据段寄存器DS来保存; ✓ CPU利用DS:EA形成存储单元的物理地址,以获取数 据段中的数据;
EA的形成方式详见第3章寻址方式的介绍。
2020年10月9日星期五
12
ES (Extra Segment)
附加段 ✓ 即附加的数据段,保存程序运行所需要的数据; ✓ 段首地址用附加段寄存器ES来保存; ✓ CPU利用ES:EA形成存储单元的物理地址,以获取附加 段中的数据; ✓ 串操作指令常将附加段ES作为目的操作数的存放区域。
➢ CPU中为什么要使用寄存器
✓ 寄存器比存储器存取速度快
✓ 使用灵活(如暂存运算的中间数据)、控制方便(如IP)
➢ 寄存器的分类
✓ 通用寄存器:传送和暂存数据;参与算术逻辑运算并保存
运算结果;
用户编程时所用到的CPU
✓ 段寄存器:保存段地址,用于寻址时构成物理地址;
✓ 专用寄存器:CPU运行的辅助工具。
有符wk.baidu.com数范围为-32768~+32767
✓ 例如,数值2008H存放于AX累加器中。
➢ AX可分做两个8位的寄存器使用,分别为AH和AL。
✓ (AX)=2008H,则(AH)=20H,(AL)=08H;
➢ BX、CX、DX类似。
2020年10月9日星期五
6
数据寄存器AX、BX、CX和DX
➢16位寄存器
何单元。
2020年10月9日星期五
堆栈
321
3
2
1
栈顶
9
段寄存器
类别
16位 8位
名称
作用
段寄存器
CS 无 DS 无 ES 无 SS 无
代码段段寄存器 数据段段寄存器 附加段段寄存器 堆栈段段寄存器
存放代码段段地址 存放数据段段地址 存放附加段段地址 存放堆栈段段地址
➢ 一段汇编语言程序至少有一个逻辑段——代码段,用于存放 代码;
✓高低8位可分为两个独立寄存器使用;
➢主要用于暂存指令执行过程中的数据;
➢特殊用途
✓AX:累加器,ALU运算核心部件、某些指令的默认寄存器;
✓BX:基址寄存器,存放存储单元的有效地址;
✓CX:计数器,串操作指令和循环指令中的默认计数器;
✓DX:与AX合用保存32位数据;I/O指令中存放端口地址。
2020年10月9日星期五
第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年10月9日星期五
1
汇编语言基础
2.1.2 Intel 8086 CPU内部寄存器 2.2 存储器物理地址的形成 2.1.1 Intel 8086 CPU内部结构
2020年10月9日星期五
2
微型计算机的结构
控制器
输入设备
计算1+2+3
2020年10月9日星期五
存储器 运算器
输出设备
并不关心1+2 的中间结果!
3
2.1.2 Intel 8086内部寄存器
14
专用寄存器
类别 16位 8位
名称
作用
专用 IP 无 寄存器
FLAG 无
指令指针寄存 器
标志寄存器
保存将要取出的指令有效地址 保存CPU当前的状态标志信息
➢ 指令指针IP
✓ 保存将要执行指令的有效地址;
✓ 该寄存器的内容是不允许人为更改的,通过指令的执行而 自动改变。
➢ 标志寄存器FLAG
✓ 该寄存器是利用其中的每一位来反映当前CPU执行指令 的结果或控制指令执行形式。
➢ 一段汇编语言程序最多有4个逻辑段——1个代码段,3个数据 段,分别用于存放代码和数据;
2020年10月9日星期五
10
CS (Code Segment)
代码段
✓ 用来存放要执行的指令序列; ✓ 段首地址用代码段寄存器CS来保存; ✓ 指令指针寄存器IP指示本段中的地址;
将要执行的下条指令的有效地址;
2020年10月9日星期五
8
堆栈指针寄存器SP、BP
➢ 堆栈是一个先进后出的数据结构,栈底位
置不变;
1 23
➢ 栈顶指针SP
✓ 其中始终存放栈顶单元的有效地址;
✓ 其值是由出入栈指令自动更改的,一
般不允许随意对该寄存器赋值;
➢ 堆栈指针BP
✓ 其中数据一般作为地址进行访存; ✓ 默认对应于SS段,可寻址堆栈中的任栈底
7
变址寄存器SI、DI
➢16位寄存器; ✓ 常作为指针,存放存储单元有效地址,也可暂存数据;
➢特殊用法: ✓ SI、DI中保存的地址信息可以随着指令的执行而自动改变; ✓ SI:源变址寄存器,串操作中存放源串地址,默认DS段; ✓ DI:目的变址寄存器,串操作中存放目的串地址,默认ES段; ✓ 该特殊用法只在字符串操作中有效,其它场合下作一般的指 针寄存器使用;
2020年10月9日星期五
4
通用寄存器
类别
16位
8位
AX 数据 BX 寄存器 CX
AH、AL BH、BL CH、CL
DX DH、DL
变址 SI

寄存器 DI

堆栈指针 SP

寄存器 BP

2020年10月9日星期五
名称
作用
累加器
常作隐含操作数,可通用
基地址寄存器 常作地址指针,可通用
计数器
常存放计数值,可通用
2020年10月9日星期五
13
SS (Stack Segment)
➢ 堆栈
✓ 用于存储程序运行中需要临时保护的数据; ✓ 段首地址用堆栈段寄存器SS来保存; ✓ 堆栈指针寄存器SP保存堆栈栈顶的有效地址; ✓ CPU利用SS:SP对堆栈栈顶单元进行操作;
利用SS:BP对堆栈中的任一单元进行操作。
2020年10月9日星期五
数据寄存器
常与累加器配合,可通用
源变址寄存器 保存源操作数地址
目的变址寄存器 保存目的操作数地址
栈顶指针
只能保存堆栈栈顶地址
堆栈指针
可保存堆栈任意位置地址
5
累加器AX
AX
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0010000 000001000
AH
AL
➢ 16位寄存器可以存储2个字节的数据;无符号数范围为0~65535
2020年10月9日星期五
15
16位标志寄存器
➢ 仅用到其中9位,且按位使用; ✓ 6位状态标志位:反映ALU的执行状态;
相关文档
最新文档