第二章 80868088寻址方式和指令系统_第1页
第二章 80868088寻址方式和指令系统_第2页
第二章 80868088寻址方式和指令系统_第3页
第二章 80868088寻址方式和指令系统_第4页
第二章 80868088寻址方式和指令系统_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

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

文档简介

1、 CH CL DH DL IP 指令指针指令指针 控制寄存器控制寄存器 FLAG 标志寄存器标志寄存器 CS 代码段代码段 DS 数据段数据段 段寄存器段寄存器 SS 堆栈段堆栈段 ES 附加段附加段 8086/8088CPU中的指令指针中的指令指针IP也是也是16位的。位的。指令指针指令指针IP给出接着要执行的指令在代码段中的偏移。给出接着要执行的指令在代码段中的偏移。8086/8088CPU中有一个中有一个16位的标志寄存器,包含了位的标志寄存器,包含了9个标志,主要用于反映处理器的状态和个标志,主要用于反映处理器的状态和运算结果的某些特征。各标志在标志寄存器中的位置如下所示。运算结果的某

2、些特征。各标志在标志寄存器中的位置如下所示。 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 O D I T S Z A P C F F F F F F F F F 主要用于反映运算是否产生进位或借位。主要用于反映运算是否产生进位或借位。 用于反映运算结果是否为用于反映运算结果是否为0。如果运算结果为。如果运算结果为0,则,则ZF被置被置1,否则置,否则置0。用于反映运算结果的符号位。用于反映运算结果的符号位。SF与运算结果的最高位相同,如果运算结果的最高位为与运算结果的最高位相同,如果运算结果的最高位为1,则,则SF被置被置1,否则,否则SF被置被置0。用于反映有

3、符号数加减运算是否引出溢出。如运算结果超出了用于反映有符号数加减运算是否引出溢出。如运算结果超出了8位或位或16位有符号数的表示范围,位有符号数的表示范围,即在字节运算时大于即在字节运算时大于127或小于或小于128,在字运算时大于,在字运算时大于32767或小于或小于 32768,称为溢出。如,称为溢出。如溢出,则溢出,则OF被置被置1,否则被置,否则被置0。用于反映运算结果中用于反映运算结果中“1”的个数。如果的个数。如果“1”的个数为偶数,则的个数为偶数,则OF被置被置1,否则,否则OF被清被清0。 在字节操作时,如发生低半字节向高半字节进位或借位;在字操作时,如发生低字节向高字在字节操

4、作时,如发生低半字节向高半字节进位或借位;在字操作时,如发生低字节向高字节进位或借位,则辅助进位标志节进位或借位,则辅助进位标志AF被置被置1,否则,否则AF被清被清0。方向标志决定着串操作指令执行时,有关指针寄存器调整方向。方向标志决定着串操作指令执行时,有关指针寄存器调整方向。当当DF为为1时,串操作指令按减方式改变有关的存储器指针值,时,串操作指令按减方式改变有关的存储器指针值,当当DF为为0时,串操作指令按加方式时,串操作指令按加方式改变有关的存储器指针值。改变有关的存储器指针值。 中断允许标志决定着中断允许标志决定着CPU是否响应外部可屏蔽中断请求,当是否响应外部可屏蔽中断请求,当I

5、F为为1时,时,CPU能够响应外部的能够响应外部的可屏蔽中断请求;当可屏蔽中断请求;当IF为为0时,则不响应外部的可屏蔽中断请求。时,则不响应外部的可屏蔽中断请求。当当TF被置被置1后,后,CPU进入单步方式。所谓单步方式是指在一条指令执行后,产生一个单步中进入单步方式。所谓单步方式是指在一条指令执行后,产生一个单步中断。主要用于程序的调试。断。主要用于程序的调试。 一个存储单元中存放的信息称为该存储单元的内容。一个存储单元中存放的信息称为该存储单元的内容。如下图表示了存储器里存放信息的情况。可以看出:如下图表示了存储器里存放信息的情况。可以看出:但是机器字长是但是机器字长是16位,大部分数据

6、都是以字为单元表示的。位,大部分数据都是以字为单元表示的。 0000H 0001H 66H 0002H 如左图存储器如左图存储器 45H 0003H 34H 0004H 上述原则称为上述原则称为“高高低低高高低低”原则。原则。 12H 0005H 四个连续的字节单元就构成了一个双字单元,四个连续的字节单元就构成了一个双字单元, 1EH 0006H 12H 1234H (0004H)=1234H 1AH 1235H (1234H)=1A12H 1236H 所以:所以: (0004)=1A12H 1237H 程序员在编制程序时要把存储器划分成段,每个段的大小可达程序员在编制程序时要把存储器划分成段

7、,每个段的大小可达64K,这样段内地址可以用这样段内地址可以用16位表示。位表示。机器规定:机器规定:第一列就是每个小段的首地址。其特征是:第一列就是每个小段的首地址。其特征是:在在1M字节的地址空间里,共有字节的地址空间里,共有64K个小段首地址,可表示如下:个小段首地址,可表示如下: 00000H 00010H 41230H 41240H FFFE0H FFFF0H在在1M字节的存储器里,字节的存储器里,每一个存储单元都有一个唯一的每一个存储单元都有一个唯一的20位地址。称为:位地址。称为: CPU访问存储器时,必须先确定所要访问的存储单元的物理地址才能取得访问存储器时,必须先确定所要访问

8、的存储单元的物理地址才能取得(或存入或存入)该单元中该单元中的内容。的内容。 要访问的某一个存储单元总是属于某个段。要访问的某一个存储单元总是属于某个段。在一个段内,通过偏移可指定要访问的存储单元,或者说要访问的存储单元可由偏移来指定。在一个段内,通过偏移可指定要访问的存储单元,或者说要访问的存储单元可由偏移来指定。在整个在整个1M地址空间中地址空间中,存储单元的物理地址等于段起始地址加上偏移。存储单元的物理地址等于段起始地址加上偏移。 存储单元的逻辑地址由:段值和偏移两部分组成存储单元的逻辑地址由:段值和偏移两部分组成用如下形式表示:用如下形式表示:根据逻辑地址可方便地得到存储单元的物理地址

9、,公式如下:根据逻辑地址可方便地得到存储单元的物理地址,公式如下:所以所以20位物理地址由:位物理地址由:16位段地址和位段地址和16位偏移地址组成。位偏移地址组成。 19 0 段段 值值 0000 15 0 偏偏 移移 + 19 0 物理地址物理地址 存储器存储器 10020H 12330H 2325H 15H 12345H由于段可以重叠,所以一个物理地址可用多个逻辑地址表示。如:上图由于段可以重叠,所以一个物理地址可用多个逻辑地址表示。如:上图其中:其中:标出的:标出的:采用段值和偏移构成逻辑地址后,段值由段寄存器给出,偏移可由指令指针采用段值和偏移构成逻辑地址后,段值由段寄存器给出,偏移

10、可由指令指针IP、堆栈指针、堆栈指针SP和其他可作为存储器指针使用的寄存器(和其他可作为存储器指针使用的寄存器(SI、DI、BX和和BP)给出,偏移还可直接用)给出,偏移还可直接用16位数给位数给出。出。 指令中不使用物理地址,而是使用逻辑地址,由总线接口单元指令中不使用物理地址,而是使用逻辑地址,由总线接口单元BIU按需要根据段值和偏移自动按需要根据段值和偏移自动形成形成20位物理址。位物理址。 当涉及到一个堆栈操作时,则自动引用堆栈寄存器当涉及到一个堆栈操作时,则自动引用堆栈寄存器SS,再加上由,再加上由SP所给出的所给出的16位偏移,得到位偏移,得到堆栈操作所需要的物理地址。当偏移涉及堆

11、栈操作所需要的物理地址。当偏移涉及BP寄存器时,缺省引用段寄存器寄存器时,缺省引用段寄存器SS。 在不改变段寄存器值的情况下,寻址的最大范围是在不改变段寄存器值的情况下,寻址的最大范围是64K字节。字节。若某个程序使用的总的存储长度(包括代码、堆栈和数据区)不超过若某个程序使用的总的存储长度(包括代码、堆栈和数据区)不超过64K 字节,则整个程序字节,则整个程序可以合用一个可以合用一个64K字节的段。字节的段。假如某个程序的数据区长度超过假如某个程序的数据区长度超过64K字节,那么就要在两个或多个数据段中存取数据字节,那么就要在两个或多个数据段中存取数据 在汇编语言指令中,可以用符号地址代替数

12、值地址在汇编语言指令中,可以用符号地址代替数值地址如: 此时此时VALUE为存放操作数单元的符号地址。为存放操作数单元的符号地址。 如如VALUE在附加段中,则应指定段超越前缀如下:在附加段中,则应指定段超越前缀如下:操作数在存储器中操作数在存储器中,操作数有效地址在操作数有效地址在SI、DI、BX、BP这四个寄存器之一中。在一般情况下,如果有效地址在这四个寄存器之一中。在一般情况下,如果有效地址在SI、DI和和BX中,中,如果有效地址在如果有效地址在BP中,中,物理地址物理地址16d(DS)()(BX)8 或(或(SI)或)或16位位移量位位移量 或或 (DI) (BX)(BP)(SI)(DI) 下面指令中,目的操作数采用基址加变址寻址,下面指令中,目的操作数采用基址加变址寻址, 下面指令中,源操作数采用基址加变址寻址,下面指令中,源操作数采用基址加变址寻址, 这种寻址方式适用于数组或表格处理。这种寻址方式适用于数组或表格处理。用基址寄存器存放数组首地址,用基址寄存器存放数组首地址,而用变址寄存器来定位数组中的各元素,而用变址寄存器来定位数组中的各

温馨提示

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

评论

0/150

提交评论