第2章8086微型计算机系统详解.ppt

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.5.4 8086的寄存器结构 寄存器是CPU内部用来存放地址、数据和状态标志的部件。 8086有14个16位寄存器和8个8位寄存器。 按用途可以分为以下几类: 数据寄存器; 指针和变址寄存器; 段寄存器; 指令指针寄存器; 标志寄存器。 1、数据寄存器AX、BX、CX、DX 数据寄存器主要用来存放操作数或中间结果,以减少访问存储器的次数。有: 4个16位的寄存器:AX、BX、CX、DX; 8个8位的寄存器:AH、AL、BH、BL、CH、CL、DH、DL; 这些寄存器均可独立使用。 多数情况下,这些数据寄存器是用在算术运算或逻辑运算指令中,以进行算术逻辑运算。在有些指令中,它们则有特定的用途。 这些寄存器的用法见下表所示。 1、数据寄存器AX、BX、CX、DX 寄存器 一般用法 隐含用法 AX 16位累加器 ①字节乘法中保存积;字乘法中隐含提供一个乘数,并保存积的低16位; ②字节除法中隐含提供被除数;字除法中隐含提供被除数的低16位,并保存商; ③CBW指令中隐含作为目标操作数; ④CWD指令中隐含作为源操作数和目标操作数的低16位; ⑤I/O指令中,保存16位输入/输出数据。 AL AX的低8位 ①字节乘法中隐含提供一个乘数,并保存积的低8位;字节除法中隐含提供被除数的低8位并保存商; ②CBW指令中隐含作为源操作数; ③XLAT指令中隐含提供表格首地址偏移量; ④I/O指令中,保存8位输入/输出数据。 AH AX的高8位 ①字节乘法中隐含提供一个乘数; ②字节除法中隐含保存余数; ③DOS和BIOS功能调用中存放功能号。 1、数据寄存器AX、BX、CX、DX 寄存器 一般用法 隐含用法 BX 基址寄存器,常用作地址寄存器 XLAT指令中提供被查表格中源操作数的间接地址。 CX 16位计数器 ①循环指令中的循环次数计数器; ②串操作指令中串长计数器。 CL CX的低8位 移位或循环移位指令中提供移位的次数。 DX 16位数据寄存器 ①字乘法中隐含保存积的高16位; ②字除法中隐含提供被除数的高16位,并保存积的高16位; ③CWD指令中隐含作为目标操作数的高16位; ④在间接寻址的I/O指令中,提供端口地址。 EU中有2个地址指针寄存器SP、BP和2个变址寄存器SI、DI。 用法如下表所示: 寄存器 一般用法 隐含用法 SP (堆栈指针寄存器) 保存堆栈栈顶偏移地址,与SS配合来确定堆栈在内存中的位置。 压栈、出栈操作中隐含指示栈顶 BP (基址指针寄存器) ①保存16位数据 ②保存堆栈段内存储单元的偏移地址。 SI (源变址寄存器) ①保存16位数据 ②保存数据段内存储单元的偏移地址。 串操作指令中,隐含与DS配合,确定源串在内存中的位置。 DI (目的变址寄存器) ①保存16位数据 ②保存数据段内存储单元的偏移地址。 串操作指令中,隐含与ES配合,确定目标串在内存中的位置。 2、指针和变址寄存器SP、BP、SI、DI 3、段寄存器 8086内部设置了4个16位的段寄存器,用于存放当前程序所用的各段的起始地址的高16位: CS(Code Segment),称为代码段寄存器,存放当前执行的程序所在段的起始地址。其值乘以16再加上IP的值,就形成了下一条要取出指令所在的内存单元的物理地址。 DS(Data Segment),称为数据段寄存器,存放当前数据段的起始地址。其值乘以16再加上指令中存储器寻址方式指定的偏移地址,就形成了要进行读/写的数据段中指定内存单元的物理地址。 3、段寄存器 SS(Stack Segment),称为堆栈段寄存器,存放当前堆栈段的起始地址。堆栈是按照“后进先出”原则组织的一个特殊内存区域。堆栈操作数的地址由SS的值乘以16再加上SP的值形成。 ES(Extra Segment),称为附加段寄存器,存放当前附加段的起始地址。附加段是附加的数据段,也用于数据的保存,另外,串操作指令将附加段作为其目标操作数的存放区域。 4、指令指针寄存器IP 指令指针寄存器IP(Instruction Pointer)存放当前代码段中的偏移地址,它与CS联用,可以形成下一条要取出指令的物理地址。 程序不能直接对IP进行存取,但能在程序运行中被自动修改。 例如,控制器取到要执行的指令后,会立刻修改IP值,使之指向下一条指令的首地址; 转移、调用、返回等指令执行,就是通过修改IP的值来控制指令序列的执行流程的。 5、标志寄存器FR FR是一个16位的寄存器。9个位用作标志位: 状态标志位有6个,记录程序中运行结果的状态信息,是根据指令的运行结果由CPU自动设置的。这些状态信息通常作为后续转移指令的转移控制条件,所以也称为条件码。 控制标志位有3个,可以编程设置,用于控制处理器执行指令的方式。

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档