《计算机组成原理指令系统part3.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成原理与汇编语言 (2006级) 北航计算机学院 刘旭东? Tel Mail:liuxd@ liuxd@ 1.1 指令系统概述 指令系统的基本问题 操作类型:应该提供那些(多少)操作? 用LD/ST/INC/BRN已经足够编写任何计算程序,但不实用,程序太长。 操作对象:如何表示?可以表示多少? 大多数是双值运算(如A?B+C) 存在单值运算(如A?~B) 指令格式:如何将这些内容编码成一致的格式? 指令长度、字段、编码等问题 1.1 指令系统概述 机器指令的要素 操作码(Operation Code):指明进行的何种操作(如 ADD, MOV,I/O) 源操作数地址(Source Operand Reference):参加操作的操作数的地址,可能有多个。 目的操作数地址(Destination Operand Reference):保存操作结果的地址。 下一条指令的地址(Next Instruction Reference):指明下一条要运行的指令的位置,一般指令是按顺序依次执行的,所以绝大多数指令中并不显示的指明下一条指令的地址,也就是说,指令格式中并不包含这部分信息。只有少数指令需要显示指明下一条指令的地址。 1.1 指令概述 1.1 指令系统概述 1.1 指令系统概述 1.1 指令系统概述 1.1 指令系统概述 1.1 指令系统概述 1.2 指令格式 操作数的类型 地址(操作数地址,指令地址) 数值(整型数或定点数,浮点数,十进制数) 字符 逻辑型数 1.2 指令格式 1.2 指令格式 1.2 指令格式 1.3 寻址方式 寻址:根据形式地址查找到操作数的过程。 1.3 寻址方式 寻址方式 定义:指令代码中地址字段的一部分,指明操作数的获取方式或操作数地址的计算方式。 指令中每一个地址字段均有其寻址方式编码(或隐含寻址方式) 1.3 寻址方式 1.3 寻址方式 立即寻址 操作数直接在指令代码中给出。 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 寻址方式 1.3 指令类型 1.3 指令类型 一、指令格式 二、指令系统举例 三、指令系统设计 2.1 8086/8088指令系统:CPU与存储器结构 8086/8088CPU寄存器结构 2.1 8086/8088指令系统: CPU与存储器结构 存储器及其存储器地址结构 主存容量为1M(220),可直接访问的主存物理地址为20位。超过1M的存储空间通过其他方式访问。 8086/8088机器字长16位,所有寄存器长度位16位,数据总线16位。 主存采用分段的结构 主存存储单元的地址构成:段基址(16 bits): 段内偏移(16 bits) 可执行程序(.EXE)的存储结构:代码段(Code Segment),数据段(Data Segment),堆栈段(Stack Segment),扩展数据段(可选) 命令程序(.COM)的存储结构:代码段,数据段和堆栈段必须是同一个段。所以命令程序最大为64KB存储空间。 2.1 8086/8088指令系统: CPU与存储器结构 存储器地址结构与计算 2.1 8086/8088指令系统: CPU与存储器结构 存储器单元结构 按字节单元编址 2.2 8086/8088指令系统:寄存器 通用寄存器:数据寄存器(Data Register) AX,BX,CX,DX(16位); AH,AL,BH,BL,CH,CL,DH,DL(8位) 各寄存器原则上没有固定的应用 AX:累加器 BX:基址寄存器 CX:计数器 DX:数据寄存器 2.2 8086/8088指令系统:寄存器 通用寄存器:指针寄存器(Pointer Register) 堆栈指针:SP(16 位) 基址指针:BP(16位),默认指向堆栈段 2.2 8086/8088指令系统:寄存器 通用寄存器:段寄存器(Segment Register) 代码段(Code Segment),数据段(Data Segment),堆栈段(Stack Segment),扩展数据段(Extend data Segment) 代码段寄存器:CS(16 bits) 数据段寄存器:DS (16 bits) 堆栈段寄存器:SS (16 bits) 扩展段寄存器:ES (16 bits) 2.2 8086/8088指令系统:寄存器 指令指针IP(Instruction Pointer) IP(16 bits)指向代码段中下一条要执行的指令。 CS:IP 形成下一次要执行的指令的内存地址。 2.3

文档评论(0)

you9391 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档