网站大量收购独家精品文档,联系QQ:2885784924

8086指令系统.pdfVIP

  1. 1、本文档共22页,可阅读全部内容。
  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文档。上传文档
查看更多
8086指令系统,指令,指令集,龙芯,8086指令系统,指令系统设计,超级计算机,cisc,中央处理器,计算机指令系统

第 3 章 8086 指令系统 §3.1 基本数据类型 本节介绍x86系列处理器定义的数据类型。 x86系列处理器的基本数据类型是字节、字、双字、四字和双四字,如图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 8086的指令格式 当指令用符号表示时,就是使用 8086 汇编语言的子集。在此子集中,指令有以下 格式: Label:mnemonic argum

文档评论(0)

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

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

1亿VIP精品文档

相关文档