- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
21 22 23 24 25 27 30 转移指令 e.g. 若结果为0转移到 x 跳步指令 e.g. 增量,并且若为0则跳过下一条指令 过程调用指令 c.f. 中断调用或子程序调用 控制传递类指令 子程序的嵌套调用 堆栈的使用 P284,表10.8 Intel 指令集基本上是向下兼容的 个别低版本CPU的指令被淘汰 10.5.1 Pentium操作类型 Call,Enter,Leave,Return Call 指令: 1、将当前指令指针值(下一条将要执行的语句的地址)压入堆栈; 2、将子程序的入口地址放入指令指针进行执行 Return 指令: 从堆栈中弹出下一条指令的地址放入指令指针 Pentium 调用/返回指令 特权指令,仅供操作系统使用 允许局部或全局段表被装入或读取,并可检查和更改段的优先级别 Pentium 存储管理指令 标志位 CF:进位标志 AF:辅助进位标志 PF:奇偶标志 ZF:0标志位 SF:符号标志位 OF:溢出标志位 通常用在转移和循环语句 JZ/JNZ,JP/JNP JL/JNL,JLE,JGE,JG/JNG Pentium 条件代码 MMX 是一组用于多媒体任务的优选指令,共57条,1996年Intel开始引入 Pentium 产品系列 多媒体数据的特点: 数据元素小,通常为8位 数据数量大,通常为向量(音频)或矩阵(图像) MMX 针对多媒体数据的处理方式 以 SIMD(单指令多数据) 的样式处理数据,可较好完成向量的加、乘运算(向量最常见的运算) 定义 3 种新的数据类型,方便批处理短数据 Pentium MMX 指令 10.5.2 Power PC 操作类型 P291,表10.12 装入/存储指令 只有装入(Load)和存储(Store)指令能访问存储器 算术和逻辑指令只能在寄存器上完成 这是 RISC 设计的一个特征 当存储的数据多于一个字节时,这些数据在主存中的组织方式(2种) 1、高位放高地址,地位放低地址 2、高位放低地址,低位放高地址 补充:字节逻辑 Pentium (80x86), VAX, 高位放高地址 IBM 370, Moterola 680x0 (Mac), 多数 RISC CPU,高位放低地址 Internet ,高位放低地址 常用的字节逻辑 2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 17 17 18 19 20 第十章 指令集:特征和功能 10.1 机器指令特征 何谓指令集 CPU能够理解的所有指令的集合 机器语言,二机制码 为方便阅读和交流,通常采用汇编语言的形式 操作码 源操作引用 目的操作引用 下一条指令引用 在跳转、循环指令中指明下一步执行哪一句 机器指令要素 指令周期状态图 在机器内部,指令用一个唯一的位串表示 为方便阅读,用符号(助记符)来代替位串 e.g. ADD, SUB, MOV 指令表示 简单的指令格式 数据处理:算数和逻辑指令 ADD,SUB,AND,OR,XOR,etc 数据存储:存储器命令 MOV,XCHG,XLAT,etc 数据传送:I/O指令 IN,OUT 控制 JMP,LOOP,HLT 指令类型 3 地址指令 操作数1, 操作数2, 结果 a = b + c; 可能有第4个操作数 – 下一条指令的地址 (通常隐含在程序计数器里) 3地址指令不普遍,因为它需要较长的指令格式 地址数目(a) 2 地址指令 有一个地址既是操作数又是操作结果 a += b 缩短了指令长度 有时需要一些额外的工作,例如临时存储某些运算结果 地址数目(b) 单地址指令 第二个地址是隐含的 通常是寄存器 (累加器) eg. DIV BX ;隐含了AX寄存器 MUL CX ;隐含了AX寄存器 常见于早期的CPU 地址数目(c) 0 地址指令 所有地址均是隐含的 通常与堆栈有关 e.g. PUSHF ;隐含了标志寄存器 POPF ;隐含了标志寄存器 地址数目(d) 地址数目多时 指令更复杂 需要更多的寄存器 程序需要的指令数目较少 地址数目少时 指令较简单 程序需要的指令数目较多 指令的读取和执行都很快 地址数目应该是多少 操作指令表 应提供多少和什么样的操作 操作是何等复杂 数据类型 所操作的数据的类型 指令格式 指令的长度 地址的数目 指令集设计要素(1) 寄存器 CPU中可使用的寄存器的数目 哪种操作在哪个寄存器上完成 寻址方式 RISC v CISC 指令集设计要素(2) 内存单元地址 数值 整数/浮点数 字符 ASCII etc. 逻辑数据 位或标志 10.2 操作数类型 8 bit Byte 16 bit word 32 bit double word 64 bit q
文档评论(0)