CPU中的寄存器结构与使用.ppt

CPU中的寄存器结构与使用.ppt

ID:52266636

大小:307.46 KB

页数:17页

时间:2020-04-03

CPU中的寄存器结构与使用.ppt_第1页
CPU中的寄存器结构与使用.ppt_第2页
CPU中的寄存器结构与使用.ppt_第3页
CPU中的寄存器结构与使用.ppt_第4页
CPU中的寄存器结构与使用.ppt_第5页
资源描述:

《CPU中的寄存器结构与使用.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本章要求:●了解8086CPU的基本结构;●掌握8086的通用寄存器;●了解PSW中的相关标志位的使用;●了解段寄存器的用途。第2章8086CPU中的寄存器结构与使用计算机通常由五大部分组成:控制器、运算器、存储器、输入设备和输出设备。其中把控制器和运算器两部分集成在一个芯片上,称为微处理器,即中央处理器CPU(CentralProcessingUnit)。输出设备输入设备存储器控制器运算器计算结果程序和数据控制流CS数据流DSCPU8086CPU的基本结构8086CPU是16位微处理器,采用16位数据总线。8088CPU是准16位的微处理器,采用8位数据总线

2、,而使用16位内部总线。8086具有6个字节指令流队列,8088则是4个字节。8086CPU由指令执行部件EU与总线接口部件BIU两部分组成。EU部件(ExecutionUnit)控制和执行指令,主要由算术逻辑部件ALU、EU控制部件、8个16位寄存器和一个标志状态寄存器FLAGS组成。BIU部件(BUSInterfaceUnit)负责从存储器预取指令和数据,以及所有EU需要的总线操作,实现CPU与存储器和外设之间信息传递。BIU主要由指令队列、指令指针寄存器、段寄存器、地址加法器(形成20位的物理地址)组成。EU和BIU能独立运行,在一条指令的执行过程中,就

3、可取下一条指令送入指令队列,实现流水操作,提高指令运行速度,因为EU与BIU可实现并行操作。Intel8086/8088CPU共有14个十六位寄存器,分别为:通用寄存器8个,控制寄存器2个,段寄存器4个。8086寄存器结构及其用途8086寄存器通用寄存器控制寄存器段寄存器AXBXCXDXSPBPSIDIIP指令指针寄存器FLAGS标志寄存器CS代码段寄存器DS数据段寄存器ES附加段寄存器SS堆栈段寄存器AX,BX,CX,DX四个寄存器为十六位寄存器来使用,同时也可以作为两个八位寄存器来使用,如:AX可看成由AH和AL两个八位寄存器构成。因此,这四个十六位寄存器

4、也可以看成8个独立的八位寄存器AH,AL,BH,BL,CH,CL,DH,DL,它们分别由十六位寄存器的高八位和低八位构成。通用寄存器(GeneralRegister)数据寄存器AHALAX:16位015上述寄存器在某些指令中,或在某种场合下又有其默认的用法。通常是:(1)AX的默认用法有:AX为十六位累加器,AL为八位累加器;在I/O指令中必须用AX或AL;AX与DX配合组成32位数据,DX中存放高16位数据等;(2)BX常做为基地址寄存器;(3)CX在串操作或用循环指令(如LOOP等)中的循环计数必须选用CX;(4)DX作为数据寄存器,在I/O端口操作中存放

5、端口地址,与AX配合形成32位数据。还有一些隐含使用将在指令系统中作进一步说明。总之,寄存器的默认搭配必须认真记住,才不致于违反语法规则。指针寄存器堆栈指针(SP)和基址指针(BP)通常用来作为十六位地址指针。SP是指向堆栈段栈顶存储单元的偏移量,且总是指向栈顶,进栈与出栈的操作(字操作)皆由SP来指明偏移地址,堆栈指针SP就是这样的隐含使用。用BP作地址指针时,默认的也是堆栈段,用BP作地址指针可以对堆栈中任何字节存储单元或字单元进行操作,这与SP所不同之处。但BP指明的存储单元可允许段跨越。变址寄存器两个变址寄存器SI,DI皆为十六位,在不同情况下的用法为

6、:(1)只有在串操作指令中,源串操作数必须用SI来提供偏移量,目的串操作数必须用DI提供偏移量。对于串操作指令,SI、DI的作用绝对不能互换,在这种情况下,SI、DI才是名副其实的源变址寄存器与目的变址寄存器,必须严格按规定使用SI、DI。(2)在串指令以外的多数情况下,源和目的变址寄存器,可由用户随意选用,被用来作地址寄存器,在变址寻址中SI、DI的内容作为段内偏移量的组成部分。(3)SI、DI两寄存器除作地址寄存器外,同BP类似,也可以作为通用数据寄存器使用,存放操作数和运算结果。段寄存器在8086中,有四个专门存放段地址的寄存器,称为段寄存器。它们是代码

7、段CS、数据段DS、堆栈段SS和附加段ES寄存器。每个段寄存器可以确定一个段的起始地址,而这些段各有各的用途:代码段主要存放运行的程序。数据段存放运行程序所用的数据,如果程序中使用了串处理指令,则其源操作数默认存放在数据段中。堆栈段定义了堆栈的所在区域,堆栈是一种数据结构,它开辟了一个比较特殊的存储区,并以“先进后出”的方式来访问这一区域,它只有一个出口,并以SP堆栈指针指明栈顶。附加段是附加的数据段,它是一个辅助的数据区,在串操作指令中用到目的串必定存放在附加段中。程序员在编制程序时,应该按照上述规定把程序的各部分放在规定的区段之内。除非专门指定,一般情况

8、下,编程人员定义好的各段在存储区中的分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。