欢迎来到天天文库
浏览记录
ID:51992178
大小:410.50 KB
页数:36页
时间:2020-03-27
《Intel80x86汇编语言编程结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章Intel80x86汇编语言编程结构主讲:×××2.1Intel8086CPU的汇编语言编程结构2.2Intel的32位CPU汇编语言编程结构2.1Intel8086CPU的汇编语言编程结构Intel8086/8088CPU是Intel公司于上个世纪七十年代末先后推出的两种16位的微处理器,它们被IBM公司选择作为流行于世界各地的16位微型计算机IBM-PC机和IBM-PC/XT机的CPU,同时也是世界各国16位兼容机的主流CPU。Intel8086/8088CPU的设计思想领先,指令系统丰富,寻址方式众多,是Intel后续处理器乃至Pentium处
2、理器的鼻祖,因而,基于Intel8086/8088CPU的16位微型计算机的影响极其深远,今天的32位机都尽量保持与基于Intel8086/8088CPU的16位计算机的兼容。2.1.18086CPU结构概述2.1.28086CPU寄存器结构2.1.38086CPU内存组织2.1.48086CPU的I/O组织2.1.18086CPU结构概述微型计算机中包含运算器和控制器电路的大规模集成电路,称为“微处理器”,又称“中央处理器(CPU)”,其职能是执行算术/逻辑运算,并负责控制整个计算机系统,使之能自动协调地完成各种操作。1.8086的基本性能指标16位微处
3、理器;采用高速运算性能的HMOS工艺制造,芯片上集成了2.9万只晶体管;使用单一的+5V电源,40条引脚双列直插式封装;时钟频率为5MHz~10MHz,基本指令执行时间为0.3ms~0.6ms16根数据线和20根地址线,可寻址的地址空间达1MB8086可以和浮点运算器、I/O处理器或其他处理器组成多处理器系统,从而极大地提高了系统的数据吞吐能力和数据处理能力。2.8086微处理器内部结构组成从功能上看,可以分为两大部分,结构图如下:(1)总线接口单元BIU(BusInterfaceUnit)包括总线控制逻辑(输入/输出控制电路)和指令队列缓冲器两部分。总线
4、控制逻辑用于分时传递地址信息或数据信息;指令队列缓冲器:用于暂存指令、取指令和执行指令可重叠操作(2)执行单元EU(ExecutionUnit)用于从指令队列中取出指令;对指令进行译码,发出相应的控制信号;接收由总线接口送来的数据或发送数据至接口。2.1.28086CPU寄存器结构8086微处理器内部共有14个16位可编程寄存器,按大至的功能分为4组,即数据寄存器、指针及变址寄存器、段寄存器、控制寄存器四组1.数据寄存器这组寄存器包括AX、BX、CX、DX四个寄存器,它们都可以以字(16位)的形式访问,也可以以字节(8位)的形式访问。AX、BX、CX、DX
5、这四个寄存器除了作为一般的数据寄存器使用以外,还有各自的专用场合,这些专用场合只有该寄存器可以使用,其他的存储器件无法代替。AX(accumulator):是乘除法运算和输入/输出时使用的专用寄存器。BX(base):用来存放存储器的地址或地址的一部分。CX(count):在循环(LOOP)和串处理指令中用作隐含的计数器。DX(data):在乘除法运算和输入/输出时使用的专用寄存器。2.指针及变址寄存器这组寄存器包括SP、BP、SI、DI四个16位寄存器。它们可以像数据寄存器一样在运算过程中存放操作数,但它们只能以字(16位)为单位使用。此外,在段内寻址时
6、用它们来提供偏移地址(又称指针)。SP(stackpointer):称为堆栈指针寄存器。用来指示栈顶的偏移地址,BP(basepointer):称为基址指针寄存器。用作堆栈区中的一个基地址以便访问堆栈中的其他信息。SI(sourceindex):源变址寄存器。当与DS联用时,用来确定数据段中某一存储单元的地址,在串处理指令中,SI作为隐含的源变址寄存器,与DS联用达到在数据段寻址的目的。DI(destindex):目的变址寄存器。在串处理指令中,DI作为隐含的目的变址寄存器并ES联用在附加段中寻址,其它功能和使用方法与SI基本相同。3.段寄存器这组寄存器包
7、括CS、DS、ES、SS四个16位寄存器。它们是Intel8086/8088的四个段寄存器。为了寻址1MB内存,Intel8086/8088将内存分成若干个逻辑段。每个段长64KB。这四个段寄存器存放各段的段地址(段基址)。Intel8086/8088中的四个段寄存器分别称为代码段CS(CodeSegment)寄存器、数据段DS(DataSegment)寄存器、堆栈段SS(StackSegment)寄存器和附加段ES(ExtraSegment)寄存器。CS段寄存器给出当前代码段的段地址。DS段寄存器给出当前数据段的段地址。SS段寄存器给出当前堆栈段的段地址
8、。ES段寄存器给出当前使用的附加段的段地址。4.控制寄存器这组寄存
此文档下载收益归作者所有