- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二节操作数类型和操作类型.PDF
第二节 操作数类型和操作类型
操作数是指令处理的对象,其基本类型有:
地址
被看成无符号整数,用来参加运算以确定主(虚)存地址
数值数据
定点数(整数) :一般用二进制补码表示
浮点数(实数) :大多数机器采用IEEE754 标准
十进制数:一般用NBCD 码表示,压缩/非压缩
字符串
用来表示文本、声音和图像等
逻辑(布尔)数据
按位操作(0-假/1-真)
Pentium 的数据类型
Pentium 处理器数据类型
基本类型:
字节、字(16 位) 、双字(32 位) 、四字(64 位)
整数:
16 位、32 位、64 位三种2 补码表示的整数
18 位压缩BCD 码表示的十进制整数
序数:
字节、字或双字长无符号整数
近指针:
表示段内偏移的 32 位有效地址。用于不分段存储器的所有指针和分段存储器的
段内访问。
位串:最长为232-1 位
浮点数:IEEE754
Pentium 处理器整数类型
Pentium 处理器浮点数格式
操作数类型和操作类型
操作数存储方式字节排序
当一个数据元素的位数超过一个字节和一个字的宽度时,这个数据就要存储在相
邻的位置上。根据是向高(大)端放还是向低
(小)端放,可有两种存储方式。
大端方式(BigEndian)
将最低字节存储在最大(高)地址位置上
例如:若数据元素”的地址为 10 ,则:各数据存放位置为:
小端方式(LittleEndian)
将最低字节存储在最小(低)地址位置上
如上例,其各数据的存放位置为:
操作数存储方式数据对齐
目前计算机所用数据字长一般为32 位或 64 位,而存储器地址按字节编址。计算
机指令系统可支持对字节、半字、字及双字的运
算。也有位处理指令。各种不同长度的数据存放时,有两种处理方式。
按边界对齐(假定字的宽度为32 位,按字节编址)
双字地址:8 的倍数(低三位为0)
字地址:4 的倍数(低两位为0)
半字地址:2 的倍数(低位为0)
字节地址:任意
不按边界对齐
这种情况可能会增加访存次数。
对齐方式示例
示例假设数据顺序:字-半字-双字-字节-半字-……
按边界对齐
按边界对齐
边界不对齐
边界不对齐
操作类型
按操作功能分为以下几种:
数据传送
算术逻辑运算
字符串处理
输入/输出操作
程序流控制
系统控制
1.数据传送(MOV,STOR/LOAD,PUSH/POP,SET/CLR 等)
指令中需给出的信息:
指令中需给出的信息
传送源:内(虚)存/寄存器/栈顶
传送目的地:内(虚)存/寄存器/栈顶
传送数据的个数:
每个操作数的寻址方式
CPU 必须完成的动作:
CPU 必须完成的动作:
在寄存器之间传送,则仅CPU 内部操作
在寄存器和主(虚)存或主(虚)存之间传送,则:
(1) 由寻址方式计算存储器地址
(2)若地址为虚址,则要转换成内存物理地址
(3)在cache 中查找,若无,则再在主存中查找
2.算术运算(ADD/SUB/MUL/DIV/INC/DEC 等)
指令加工的数据:
指令加工的数据
带符号的定点数
浮点数
压缩十进制数
操作数个数和来源:
操作数个数和来源
单/双源操作数:内(虚)存/寄存器/栈顶
CPU 必须完成的动作:
CPU 必须完成的动作:
在寄存器和ALU 之间传送
在ALU 中进行相应的运算(加/减/乘/ 除/取负/增1/减1 等)
从主(虚)存取数或将结果送主(虚)存保存
改变机器状态并产生条件码(零/负/溢出/进位等)
80x86 中的主要条件码(标志位)
CF 进位标志(CarryFlag):反映指令执行后是否在最高位产生进位或借位。
AF 辅
文档评论(0)