汇编语言程序设计教程PPT第1章_第1页
汇编语言程序设计教程PPT第1章_第2页
汇编语言程序设计教程PPT第1章_第3页
汇编语言程序设计教程PPT第1章_第4页
汇编语言程序设计教程PPT第1章_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 Intel 8086/8088的基本结构,本章要点,8086/8088的功能结构,1,8086/8088的寄存器结构,堆栈与存储器结构,3,2,3,第一章 Intel 8086/8088的基本结构,8086是16位字长的微处理器,8088的内部结构为16 位,外部数据总线8位,是准16位字长的微处理器,二者指令系统相同,均具有20位地址线,寻址能力达到1MB空间。,1.1 8086/8088的功能结构,总线接口单元 BIU( Bus Interface Unit ),执行单元 EU( Execution Unit ),8086/8088微处理器由总线接口单元和执行单元组成。,协同完成执

2、行内存中存放的指令序列。,第一章 Intel 8086/8088的基本结构,BIU和EU相互独立,可并行操作,构成指令流水线结构。,1.2 8086/8088的寄存器结构,14个16位寄存器,分为4类。,第一章 Intel 8086/8088的基本结构,next,第一章 Intel 8086/8088的基本结构,主要的算术运算寄存器,专用于:乘、除法运算、十进制调整及I/O操作等操作。,BX(基址寄存器 Base):,常用于存放存储区的起始地址。,AX(累加器 Accumulator):,第一章 Intel 8086/8088的基本结构,返回,CX(计数寄存器 Count):,常用作循环操作和

3、字串处理的计数控制。,DX(数据寄存器 Data):,常与AX联用,做双字乘、除法时,DX存放高位字,AX存放低位字。此外在I/O操作时提供外部设备接口的端口地址。,第一章 Intel 8086/8088的基本结构,存放代码段的起始地址。代码段存放当前正在运行的程序。,DS(数据段地址寄存器 Data Segment):,存放数据段的起始地址。数据段存放当前正运行的程序所用的数据。,CS(代码段地址寄存器 Code Segment):,第一章 Intel 8086/8088的基本结构,返回,存放堆栈段的起始地址。堆栈段是定义堆栈的存储区。,ES(附加段地址寄存器 Extra Segment):

4、,存放附加段的起始地址。附加段是附加的数据段,作为辅助数据区存放当前正运行程序所用的数据。,SS(堆栈段地址寄存器 Stack Segment):,第一章 Intel 8086/8088的基本结构,提供堆栈栈顶单元的偏移地址。与SS段寄存器联用,控制数据进栈和出栈。,BP(基址指针寄存器 Base Pointer):,常用于提供堆栈内某个单元的偏移地址。与SS段寄存器联用,访问堆栈中的任一个存储单元。,SP(栈顶指针寄存器 Stack Pointer):,与ES段寄存器联用,可访问附加段中的任一个存储单元。,第一章 Intel 8086/8088的基本结构,SI、DI也常用于在字串操作中提供偏

5、移地址,并具有地址自动增量或减量的功能。,返回,与DS段寄存器联用,可以访问数据段中的任一个存储单元。,DI(目的变址寄存器 Destination Index):,SI(源变址寄存器 Source Index):, 存放代码段中指令的偏移地址。在程序执行过程中,始终自动给出下一条要取的指令的偏移地址。 IP与CS段寄存器联用,可以确定下一条要取的指令的物理地址,因此IP是很重要的控制寄存器,用于控制程序的执行流程。,第一章 Intel 8086/8088的基本结构,IP(指令指针寄存器 Instruction Pointer):,第一章 Intel 8086/8088的基本结构, 用于存放反

6、映处理器和运行程序执行结果状态的条件码标志和控制标志。 FR中共有9个标志位:6个条件码标志位,3个控制标志位。,FR(标志寄存器 Flags Register):,第一章 Intel 8086/8088的基本结构,6个条件码标志位:,3个控制标志位:,第一章 Intel 8086/8088的基本结构,返回,第一章 Intel 8086/8088的基本结构,正向传送,DF=0,数据段,附加段,.,.,.,.,DBUF,SBUF,0 3,0 7,0 8,方向标志DF的控制作用,第一章 Intel 8086/8088的基本结构,DF=1,数据段,附加段,.,.,.,.,SBUF,DBUF,0 3,

7、0 7,0 8,返回,反向传送,第一章 Intel 8086/8088的基本结构,1.3 堆栈与存储器结构,(1) 堆栈, 堆栈的固定端称为栈底, 在存储器的高地址端,活动端称为栈顶,数据的存取以先进后出原则在栈顶进行。SP栈顶指针寄存器始终保存栈顶地址,指向栈顶。,堆栈数据的存取必须以字为单位, 随着进栈数据的增多,堆栈从高地址向低地址方向扩展。,低地址,高地址,新栈顶,PUSH BX,BH,BL,掌握堆栈的要点: SP栈顶指针寄存器始终跟踪栈顶的变化; 数据进栈、出栈必须以字为单位 数据进栈SP中的地址减小,低地址单元存低字节, 高地址单元存高字节。,第一章 Intel 8086/8088

8、的基本结构,(2) 存储器结构, 在存储器中,最小的存储单位是字节,每个字节单元用一个无符号二进制数编地址,从0开始编址。书写存储单元地址时用十六进制形式。, 64K存储器单元的编址方法如图所示。,低字节,高字节,字单元,字节单元,低地址字节单元,高地址字节单元,例: 将3456H存入地址为 0005H的字单元中。,34,56,第一章 Intel 8086/8088的基本结构,问题:为什么要分段地址和偏移地址呢?,问题: 16位寄存器不能提供20位的物理地址。,第一章 Intel 8086/8088的基本结构,解决问题的办法:存储器分段管理,将存储器分段,每段最大不超过64KB,段内单元地址可

9、用16位表示,称为偏移地址。每段的起始地址称为段地址(也称为段基址)。,存储器分段管理,第一章 Intel 8086/8088的基本结构,规定段地址必须取为小段首址,从0地址单元开始,每16个字节单元为一小段。,按20位地址对1M存储器编址如下:,段地址如何表示?,00000H 00001H 00002H 0000EH 0000FH 00010H 00011H 00012H 0001EH 0001FH 00020H 00021H 00002H 0002EH 0002FH FFFF0H FFFF1H FFFF2H FFFFEH FFFFFH,第一章 Intel 8086/8088的基本结构,20

10、位 物理地址,+,=,16位 段地址左移4位(段地址16),16位 偏移地址,20位物理地址的形成方法:,+,0000,第一章 Intel 8086/8088的基本结构,例:,已知一个存储单元的段地址为3200H,偏移地址为1210H,其物理地址是多少?,0011 0010 0000 0000 | 0000,0001 0010 0001 0000,+,0011 0011 0010 0001 0000,32000H,+ 1210H,33210H,偏移地址,=,段起始地址,30000H,偏移地址,=,段起始地址,40000H,30000H + 0FFFH =,30FFFH 物理地址,0FFFH,第一章 Intel 8086/8088的基本结构,段内偏移量,存储器分段管理的地址概念图示:,段内偏移量,访问存储单元:段寄存器、提供偏移地址的寄存器。,第一章 Intel 8086/8088的基本结构, 可以对代码段、数据段、附加段和堆栈段各段按需要灵活地进行存储区分配。, 访问存储器单元时,寄存器的联用方式如下图:,第一章 Intel 8086/8088的基本结构,存储器 分段法的优点,小 结, 了解CPU的功能结构,掌握寄存器的结构和寄存器 的默认联用方式;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论