第5课指令系统.ppt

  1. 1、本文档共95页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5课指令系统

第5章 指令系统 主要内容 指令系统的一般概念 对操作数的寻址方式 六大类指令的操作原理 操作码的格式及功能,指令对操作数的要求,指令对标志位的响应 §5.1 概 述 了解: 指令及指令系统; 指令的格式; 指令中的操作数类型。 一、指令与指令系统 指令: 控制计算机完成某种操作的命令 指令系统: 处理器所能识别的所有指令的集合 指令的兼容性: 同一系列机的指令都是兼容的。 二、指令格式 指令中应包含的信息: 指令格式 操作码 操作数,操作数 指令格式 指令的长度与操作码及操作数的多少和类型有关 三、指令中的操作数 立即数:表征参加操作的数据本身 存储器操作数:表征数据存放的地址 寄存器操作数:表征数据存放在哪个寄存器中 隐含操作数:表征数据隐含存放在某个寄存器中 立即数操作数 源操作数就是参加操作的数据本身,它们可以是8位或16位。 例: MOV AX,1234H MOV BL,22H 立即数无法作为目标操作数 立即数可以是无符号或带符号数, 其值应在允许范围内 错误例: MOV AX, 12345H; MOV 1234H, AX 寄存器操作数: 表示参加运算的数存放在指令给出的寄存器中,可以是16位或8位。 例:MOV AX,BX MOV DL,CH 想一想:以下指令正确否? MOV AX,BL MOV DL,CX 存储器操作数 表示当前参加运算的数存放在存储器的某一个或某两个单元中 表示形式:[ ] 四、指令字长及执行速度 指令字长: 由操作码的长度、操作数地址长度、操作数个数决定;指令的字长影响指令的执行速度 (常用指令的执行时间见表3-4) 对不同的操作数,指令执行的时间不同: 存储器 立即数 寄存器 §5.2 寻址方式 讨论内容: 寻找操作数所在地址的方法 寻找程序转移的目标地址 一、立即寻址 指令中的源操作数是立即数,即源操作数是参加操作的数据本身 例:MOV AX,1234H 二、直接寻址 指令中直接给出操作数的偏移地址 例:MOV AX,[1200H] 直接寻址 直接寻址方式下,操作数的段地址默认为数据段,但允许段重设,即由指令定义段。 例:MOV AX,ES:[1200H] 三、寄存器寻址 参加操作的操作数在CPU的通用寄存器中。 例:MOV AX,BX 四、寄存器间接寻址 参与操作的操作数存放在内存中,其偏移地址为指令中的寄存器的内容。 例:MOV AX,[BX] 寄存器间接寻址 例: 设(BX)=1200H 则执行MOV AX,[BX]后 寄存器间接寻址 由寄存器间接给出操作数的偏移地址; 存放偏移地址的寄存器称为间址寄存器,它们是:BX,BP,SI,DI 操作数的段地址(数据处于哪个段)取决于选择哪一个间址寄存器: BX,SI,DI 默认在数据段 BP 默认在堆栈段 寄存器间接寻址 寄存器 间接寻址 五、寄存器相对寻址 操作数的偏移地址=寄存器的内容+位移量 例:MOV AX,[BX+DATA] 设:DS=2000H,BX=0220H, DATA=05H 则:AX=[20225H] 六、基址、变址寻址 操作数的偏移地址为一个基址寄存器的内容加上一个变址寄存器的内容,操作数的段地址由选择的基址寄存器决定 例:MOV AX,[SI+BX] 七、基址、变址、相对寻址 操作数的偏移地址为一个基址寄存器的内容加上一个变址寄存器的内容,再加上一个位移量。 操作数的段地址由选择的基址寄存器决定 例:MOV AX,[BP+SI+DATA] 八、隐含寻址 指令隐含了的一个或两个操作数的地址,即操作数在默认的地址中 例: MUL BL 指令的执行:AL×BL AX §5.3 8086指令系统 从功能上包括六大类: 一、数据传送指令 通用数据传送 输入输出 地址传送 标志位操作 1. 通用数据传送 一般数据传送指令 堆栈操作指令 交换指令 查表转换指令 字位扩展指令 一般数据传送指令 一般数据传送指令 MOV 格式:MOV dest,src 操作:src dest 例: MOV AL,BL 一般数据传送指令 注: 两操作数字长必须相同 ; 两操作数不允许同时为存储器操作数; 两操作数

文档评论(0)

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

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

1亿VIP精品文档

相关文档