指令系统().pptVIP

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指令系统()

第 3 章 1、8086指令的基本格式 2、8086指令系统的寻址方式 3、8086指令及其应用 IA-32结构的基本数据类型有:字节(8位)、字(两个字节/16位) 、双字( 4字节/32位) 、四字( 8字节/64位)和双四字( 16字节/128位)。 数据信息的表达单位 计算机中最常用的信息单位 二进制位Bit:存储一位二进制数:0或1 字节Byte:8个二进制位,D7~D0 字Word:16位,2个字节,D15~D0 双字DWord:32位,4个字节,D31~D0 最低有效位LSB:数据的最低位,D0位 最高有效位MSB:数据的最高位,对应字节、字、双字分别指D7、D15、D31位 多字节数据存放方式 数据的存储格式 字、双字和四字在内存中并不需要对齐至自然边界(字、双字和四字的自然边界是偶数编号的地址,对于双字和四字来说,地址要分别能被4和8整除)。 然而,为改进程序的性能,数据结构(特别是堆栈)只要可能,应对齐在自然边界上。这样做的理由是:对于非对齐的存储访问,处理器要求做两次存储访问操作;而对于对齐的访问只要做一次存储访问操作。 1.整数 IA-32结构定义两种类型整数:无符号整数和符号整数。无符号整数是原始二进制值,范围从0到所选择的操作数尺寸能编码的最大正数。符号整数是2的补码二进制值,能用于表示正的和负的整数值。 (1)无符号整数 无符号整数是包含字节、字、双字和四字中的无符号的二进制数。它们的值的范围,对于字节是从0到255;对于字,从0到65535;对于双字,从0到232–1;对于四字,从0到264–1。 符号整数是保存在字节、字、双字或四字中的带符号的二进制数。对于符号整数的所有操作都假定用2的补码表示。整数值的范围: 字节:从–128到+127; 字:从–32 768到+32 767; 双字:从–231到+231–1;对于四字,从–263到+263–1。 串是位、字节、字或双字的连续序列。位串能从任一字节的任一位开始并能包含多至232–1位。字节串能包含字节、字或双字,其范围能从0至232–1字节(4G字节)。 §3.2 指令的基本概念和指令格式 机器指令:指挥计算机完成某种操作的命令。 从计算机组成的层次结构来说,计算机指令有机器指令、伪指令和宏指令之分。 指令的操作码和操作数 每种指令的操作码: 用一个唯一的助记符表示(指令功能的英文缩写) 对应着机器指令的一个二进制编码 汇编语言指令格式 由4部分组成: 标号:指令助记符 目的操作数,源操作数 ;注释 其中: 标号是一标识符,后面跟有冒号(∶)。 助记符(mnemonic)是一类具有相同功能的指令操作码的记忆符号,为系统保留名。 注释以分号开头,对程序的编译执行没有影响,但在编程时,加以适当注释是程序员的必要的习惯和职业道德。 指令操作数的表达 r8——任意一个8位通用寄存器 AH AL BH BL CH CL DH DL r16——任意一个16位通用寄存器 AX BX CX DX SI DI BP SP reg——代表r8或r16 seg——段寄存器 CS/DS/ES/SS m8——一个8位存储器操作数单元(所有主存寻址方式) m16——一个16位存储器操作数单元(所有主存寻址方式) mem——代表m8或m16 格式如下: 操作符 OPD, OPS OPD:目的操作数 OPS:源操作数 意义:对目的操作数和源操作数执行操作符对应的操作,并将结果保存于目的操作数中。 3.3.1 寻址、寻址方式的概念 指令执行的要点是如何找到操作数,指令中操作数字段实质上是指出操作数存放于何处。指令指定操作数的位置,即给出地址信息,再需要根据这个地址信息找到需要的操作数。这种寻找操作数的过程称为寻址,而寻找操作数的方法称为寻址方式。由于多数指令有多个操作数,所以对不同的操作数可能有不同的寻址方式。 指令系统设计了多种操作数的来源 寻找操作数的过程就是操作数的寻址 操作数采取哪一种寻址方式,会影响机器运行的速度和效率 3.3.2 段寄存器的隐含与指定 8086有4个16位段寄存器 CS(代码段)指明代码段的起始地址 SS(堆栈段)指明堆栈段的起始地址 DS(数据段)指明数据段的起始地址 ES(附加段)指明附加段的起始地址 每个段寄存器用来确定一个逻辑段的起始地址,每种逻辑段均有各自的用途 代码段(Code Segment) 代码段用来存放程序的指令序列 代码段寄存器CS存放代码段的段地址 指令指针寄存器IP指示下条指令的偏移地址 处理器利用CS:IP取得下一条要执行的指令 堆栈段(Stack Segment) 堆栈段确定堆栈所在的主存区域 堆栈段寄存器SS存放堆栈段的段地址 堆栈指针寄存器SP指示

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档