第三章1 寻址方式.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 寻址方式和指令系统 本章将从指令的数据类型、指令格式、指令类型、指令功能与应用等方面介绍计算机的指令系统。 主 要 内 容 一、8086的指令格式与寻址方式 二、8086的指令系统 三、80X86的扩充指令 名词解释: 指令(机器语言):计算机能够直接进行某种基本操作的二进制代码语言。每条指令可以完成一个独立的算术运算或逻辑运算操作。 微指令、宏指令、机器指令 指令系统:一台计算机能直接理解与执行的全部指令的集合称为该机的指令系统。 指令系统是进行计算机逻辑设计和编制程序的基本依据。它直接说明了这台计算机的功能。不同类型CPU的指令系统是不能混用与兼容的,但同一系列的CPU一般升级后指令都有扩充,并可兼容。 3.1 数据类型及其存储规则 3.1.1基本数据类型及其存储 数据在存储器中常以字节为单位进行存储,一个节占用内存的一个地址,称为一个存储单元。 通常2个相邻字节组成的16位二进制数成为字; 4个相邻字节组成的32位二进制数成为双字; 8个相邻字节组成的64位二进制数成为四字; 3.1.2数字数据类型 基本数据类型不考虑数的符号和小数点的问题,但有些指令制定在数字数据类型上操作,这些数字数据类型包括三部分: 1.无符号整数 2.带符号整数 3.浮点数 3.1.3指针数据类型 指针是内存单元的地址 实方式下有两种类型的指针: 近指针(16位)和 远指针(32位) 近指针是段内的16位偏移量(称为有效地址) 远指针是32位的逻辑地址,不仅包含16位的有效地址,还包含16位的断地址; 在虚拟方式下: 近指针是段内32位偏移量 远指针是一个48位的逻辑地址 3.2 计算机指令格式 计算机处理各种数据或完成某些其他任务都是通过执行具体指令来实现的。指令除了说明计算机做什么,还要指出数据的来源、操作结果的去向,因此,一条指令包括两部分:操作码部分和地址码部分 根据地址码部分给出的地址的个数,指令格式可分为:零地址指令、一地址指令、二地址指令、三地址指令。 指令助记符格式 [L:] OP D1, D2, D3 [;注释] [标号:] 操作码助记符 操作数1,操作数2, 操作数3 [;注释] 1.标号: 指令的符号地址 2.操作码:指令操作码的保留名,指明指令功能。 3.操作数:指令操作对象、数据、地址、寄存器名及约定 符号。 4.注释行:说明指令在程序中的作用。 操作码和操作数是指令主体。 例: LOOP: MOV AL,40H ;取参数 操 作码 操作码用来规定计算机应该做什么样的操作:每一种操作唯一对应一个操作码 ; 操作码由CPU设计开发人员定义,具有固定的写法和意义。 操作数 操作数指操作的对象。 2. 8086指令中的操作数根据不同的作用可分为以下两类: 二. 指令编码格式 例1: 将指令“MOV [BX+DI-6],CL”写成机器码格式。 解 :这是一条寄存器送存储器的指令。由附录A可知该指令的格式如下,是一条3字节指令: 10 00 10 DW mod reg r/m disp8 因为(reg域指出的)寄存器是源操作数,所以D=0;由CL寄存器的编码知reg=001。 因为是字节操作,所以W=0。 因为目的操作数是存储器且带有8位位移量,所以mod=01。 寻址方式[BX+DI+disp8]的r/m=001。 位移量为(-6),其补码 因此,该指令的机器码是 01 001 001 。 例2: 将指令“ADD AX,BX”写成机器码格式。 解: 这是一条将两个寄存器的内容相加,将结果送入其中一个寄存器的指令。由附录A可知该指令的格式如下,是一条两字节指令: 00 00 00 DW mod reg r/m 因为(reg域指出的)寄存器是目的操作数,所以D=1;由AX寄存器的编码知reg=000。 因为是字操作,所以W=1。因为目的操作数是寄存器,所以mod=11,另一个寄存器BX的编码为011。 因此,该指令的机器码是 11 000 011”。 8086指令中操作数的类型(以操作数存放地点 分类)可以有以下几种: (1) 立即寻址(Immediate addressing) 指令中直接给出操作数,操作数紧跟在操作码之后,作为指令的一部分存放

文档评论(0)

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

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

1亿VIP精品文档

相关文档