周明德微型计算机原理及应用第3章 8086指令系统.pptVIP

周明德微型计算机原理及应用第3章 8086指令系统.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 3 章 8086指令系统 本章讲述: 3.1 基本数据类型 3.2 IA-32的指令格式 3.3 IA-32指令的操作数寻址方式 3.4 IA-32的通用指令 3.1 基本数据类型 本节介绍IA-32 结构定义的数据类型。 IA-32结构的基本数据类型是字节、字、双字、四字和双四字,如图3-1所示。 一个字节是8位,一个字是两个字节(16位),双字是4字节(32位),四字是8字节(64位),双四字是16字节(128位)。 四字是在Intel 80486处理器中引入IA-32 结构的,双四字是在具有SSE扩展的Pentium Ⅲ 处理器中引入的。 图3-2显示了基本数据类型作为内存中的操作数引用时的字节顺序。 低字节(位0至位7)占用内存中的最低地址,该地址也是此操作数的地址。 3.1.1 字、双字、四字和双四字的对齐 字、双字和四字在内存中并不需要对齐至自然边界。(字、双字和四字的自然边界是偶数编号的地址,对于双字和四字来说,地址要分别能被4和8除尽。) 然而,为了改进程序的性能,数据结构(特别是堆栈)只要可能就应该在自然边界上对齐。因为对于不对齐的存储访问,处理器要求做两次存储访问操作;而对于对齐的访问,只要进行一次存储访问操作。 3.1.2 数字数据类型 虽然字节、字和双字是IA-32 结构的基本数据类型,但某些指令对这些数据类型的附加解释允许在数字数据类型(带符号的或无符号整数和浮点数)上操作。这些数字数据类型如图3-3所示。 1. 整数 IA-32结构定义两种类型整数:无符号整数和符号整数。无符号整数是原始二进制值,范围从0到所选择的操作数尺寸能编码的最大正数;符号整数是2的补码二进制值,能用于表示正的和负的整数值。 某些整数指令(例如:ADD、SUB、PADDB 和PSUBB 指令)可在无符号整数或符号整数上操作。而一些整数指令(例如:IMUL、MUL、IDIV、DIV、FIADD 和FISUB)只能在一种整数类型上操作。 (1) 无符号整数 无符号整数是包含字节、字、双字和四字中的无符号的二进制数。它们的值的范围,对于字节是从0到255;对于字,从0到65535;对于双字,从0到232-1;对于四字,从0到264-1。无符号整数有时作为原始数引用。 (2) 符号整数 符号整数是保存在字节、字、双字或四字中的带符号的二进制数。对于符号整数的所有操作都假定用2的补码表示。符号位定位在操作数的最高位(见表3-1中符号整数编码)。 负数的符号位为1,正数的符号位为0。整数值的范围,对于字节,从-128到+127;对于字从-32768到+32767;对于双字,从-231到+(231-1);对于四字,从-263到+(263-1)。 当在内存中存储整数值时,字整数存放在两个连续字节中;双字整数存放在四个连续字节中;四字整数存放在八个连续的字节中。 2. 浮点数据类型 IA-32结构定义和操作三种浮点数据类型:单精度浮点数、双精度浮点数和扩展的双精度浮点数(见图3-3)。 这些数据类型的数据格式与IEEE标准754二进制浮点算术所规定的格式直接对应。如表3-2所示。 3.1.3 指针数据类型 指针是内存单元的地址,如图3-4所示。IA-32 结构定义两种类型的指针:近(near)指针(32位)和远(far)指针(48位)。near指针是段内的32位偏移量(也称为有效地址)。Near指针在平面存储模式中用于所有存储器引用;或在分段存储模式中用于同一段内的存储器引用。far指针是一个48位的逻辑地址,包含16位段选择子和32位的偏移量。far指针用于在分段存储模式中的跨段存储引用。 3.1.4 位字段数据类型 一个位字段(见图3-5)是连续的位序列。它能在内存中任何字节的任一位位置开始并能包含最多至32位。 3.1.5 串数据类型 串是位、字节、字或双字的连续序列。位串能从任一字节的任一位开始并能包含多至232-1位。字节串能包含字节、字或双字,其范围能从0至232-1字节(4GB)。 3.2 IA-32的指令格式 当指令用符号表示时,就是使用IA-32 汇编语言的子集。在此子集中,指令有以下格式: label: mnemonic argument1, argument2,argument3 其中: (1) 标号(l

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档