[计算机硬件及网络]计算机组成与汇编语言第五章笔记整理.doc

[计算机硬件及网络]计算机组成与汇编语言第五章笔记整理.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机硬件及网络]计算机组成与汇编语言第五章笔记整理

计算机组成与汇编语言笔记整理 第五章:指令系统 本章要点 指令、指令系统、指令的格式 8086微处理器中指令与操作数的寻址方式 8086指令系统 指令系统的发展趋势 5.1 指令系统概述 5.1.1 指令的格式 一条指令通常由操作码(Operation Code)和操作数(Operand)两部分组成,因此指令的基本格式可表示为: 5.1.2 操作码 指令的操作码是指用二进制编码表示的不同性质的操作,如加、减、乘、除、取数、存数等,每一种操作都有唯一对应的编码表示。 操作码的位数一般取决于计算机指令系统的规模。一个包含n位的操作码最多能表示2n种操作。 CPU通过指令译码器来解释每一个操作码 5.1.3 操作数的类型 根据操作数的存储位置不同,可将其分为立即数、寄存器数、存储器数三种类型。 立即数类型的操作数直接在指令中给出。 寄存器类型的操作数存储于通用寄存器中,指令中给出寄存器编号。 存储器类型的操作数存储于存储器单元中,指令中给出直接地址或间接地址。 5.1.4 操作数地址码 一条指令中有几个操作数,就应该有几个地址码。一般情况下,根据指令中操作数地址码的个数,可将指令分为三地址指令格式、二地址指令格式、一地址指令格式和零地址指令格式。立即数类型的操作数直接在指令中给出。 在CISC计算机中,指令中的地址码结构并不是单一的,往往多种格式混合使用,以便增强指令的功能。 5.2 寻址方式 5.2.1 指令寻址方式 在8086微处理器中,程序的执行顺序是由代码段寄存器CS和指令指针寄存器IP的内容决定的。 指令的寻址分为顺序寻址和跳跃寻址两种情况。 在顺序寻址方式下,每当BIU完成一条取指周期后,就自动改变指令指针IP的内容,使之指向下一条指令,这样程序就能够按预先编制的顺序执行。 跳跃寻址发生在程序控制类指令出现时,此时必须通过改变指令指针寄存器IP和代码段寄存器CS的内容,来改变程序的正常执行顺序,转到指定的指令地址。 跳跃寻址可分为段内直接寻址、段内间接寻址、段间直接寻址、段间间接寻址4种寻址方式。 下面以无条件转移指令JMP为例来说明。 JMP指令的格式为:JMP 目标地址 1. 段内直接寻址 格式:JMP 标号 其中,标号必须在当前代码段内定义。 转向的有效地址是当前IP寄存器的内容与指令中指定的8位或16位的位移量之和。 位移量的计算由汇编程序自动完成,根据位移量的大小不同,又可分为近转移和短转移两种情况。 (1)近转移 若标号省略类型或指定为NEAR类型,称为近转移。此时指令中指定 的位移量为16位,转移的范围为±32KB地址范围。 例如:JMP LABEL JMP NEAR PTR LABEL (2)短转移 若标号前加运算符SHORT,称为短转移。此时位移量是8位的,转移的地址范围为 -128B~127B。 例如: JMP SHORT LABEL 2. 段内间接寻址 格式:JMP R 或:JMP WORD PTR COUNT[X+Y] 其中,R指通用寄存器;COUNT为位移量,X和Y可分别取一个基址寄存器和一个变址寄存器,或其中之一取SI、DI、BX、BP四个寄存器中的一个,另一个取常数,即可构成寄存器间接寻址、变址寻址和基址加变址寻址。 3. 段间直接寻址 格式:JMP FAR PTR 标号 指令中的标号被指定为“FAR”类型,说明它不在当前代码段中。 指令中直接提供了转向目标的段地址和偏移地址,只需用它们分别取代CS和IP的内容,就完成了从源段到目的段的转移操作。 4. 段间间接寻址 格式:JMP DWORD PTR COUNT[X+Y] R指通用寄存器;COUNT为位移量,X和Y可分别取一个基址寄存器和一个变址寄存器,或其中之一取SI、DI、BX、BP四个寄存器中的一个,另一个取常数,即可构成寄存器间接寻址、变址寻址和基址加变址寻址。 5.2.2 操作数寻址方式 下面将以MOV(数据传送)指令的源操作数为例,分别对立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、变址寻址、基址加变址寻址、相对基址加变址寻址七种寻址方式进行说明 MOV指令格式: MOV 目标操作数,源操作数 功能是将源操作数传送至目标操作数 1.立即寻址 指令中的操作数直接在指令中给出,它作为指令的一部分,紧跟在指令操作码后面,是8位或16位二进制补码。 例如: MOV AX,1234H 2.寄存器寻址 如果操作数在CPU内部的寄存器中,则指令中必须给出寄存器代号,这种获取操作数的方式称为寄存器寻址。操作数

文档评论(0)

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

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

1亿VIP精品文档

相关文档