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

[物理]第3章 指令系统.ppt

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

第三章 指令系统及汇编语言程序设计 3.1 概述 指令:微处理器能直接识别和执行的命令,用以完成特定的操作;一条指令对应一种操作; 指令系统:所有指令的集合和使用指令的规则。是面向微处理器的,面向机器的。兼容性 8086的指令可以分为六大类(传送,算术,逻辑和移位,串操作,控制转移,处理器控制) 92种基本指令表3-1 参考书: 《80X86汇编语言程序设计教程》 杨季文 编 清华大学出版社 1998年6月第一版 《 汇编语言程序设计》(修改版1998年6月)罗万钧 编 西安电子科技大学出版社 指令一览表 3.1.1 指令的基本构成 指令长度:1~7字节, 操作码 [目的操作数][,源操作数] MOV AX,100H mov ax,256 IN AX [标号:]操作码 [操作数1[,操作数]] [;注释] 操作码 指令码 助记符 1~2字节 有的没有操作数有的隐含操作数 操作数类型: 立即数:作为指令的一部分出现在指令中,二进制、十六进制、十进制 寄存器数:把操作数放在寄存器中,源操作数、目的操作数 存储器操作数:把操作数放在存储器中,一般源和目的操作数不能同时为存储器操作数,与段寄存器组成物理地址时,采用默认的段寄存器,否则,使用段超越(显式地指明段寄存器);注意表3-3 EA有效地址 存储器操作数的偏移地址,也称有效地址 3.1.2指令的执行时间 不同指令的执行时间有较大差别, 最快的需要2个时钟周期,如寄存器到寄存器的传送,寄存器移1位,寄存器加1/减1 乘除指令最耗时,近100,或近200 对寄存器操作比对内存操作要快 8088比8086要慢4个时钟周期 了解指令执行时间,有时候是很重要的。 尽可能利用寄存起来传递参数,定义寄存器变量 3.1.3 CISC和RISC指令系统 CISC(复杂指令集计算机) 随着半导体工艺水平的提高,使追求速度高、功能强成为可能,表现为: (1)将指令串合为一条指令,将使用频度高的用硬件加速; (2)增加对高级语言和编译程序的支持; (3)类似于高级语言 (4)对操作系统的支持 存在8020规律 RISC(精简指令集计算机) 在一个机器周期内完成 减少存储器的访问,采用寄存器与寄存器之间的操作 减少寻址方式,几乎只有寄存器寻址,直接寻址 减少指令种类,对于复杂的功能,可通过软件编程的方法解决 简化指令格式,长度固定,位置对准,从而简化了指令译码器和控制器 3.2 8086的寻址方式 寻址方式:获得操作数所在地址的方法。一般针对操作数而言。 另一类寻址是:寻找要执行的下一条指令的地址;call、jmp 3.2.1 立即寻址 操作数类型是立即数, 数据是指令的一部分,存放在程序存储器 源操作数是一个立即数;不能用于目的操作数 若16位数据,低8位在低地址上,高8位在高地址上, MOV AX,3102H ;(AX)?3102H ;AX=3102H 立即寻址 不能用于目的操作数, 立即数存放在程序段,紧接着操作码 MOV AL,32H ;1 MOV AH,89H ;2 MOV AX,3289H ;3 3.2.3 寄存器寻址 MOV AX, SI 操作数类型是寄存器操作数 操作数为指定寄存器的内容 既可以是源操作数,也可以是目的操作数 MOV DX,AX ;(DX)?(AX) mov si,ax mov ax,bp 此类指令的操作码 在代码段中,操作数为寄存器的内容,在CPU的内部,不需要再访问内存,速度较快。 3.2.2 直接寻址 操作数类型是存储器操作数 直接寻址指令:在指令的操作码后面直接给出操作数的16位偏移地址; 该地址存放在操作码后,低8位在低地址上,高8位在高地址上,默认的段寄存器为DS; MOV AX,DS:[3102H] ;(DS:3102H)?AX 直接寻址 mov ax,ds:[1200] MOV BX, ES:[1200H] 指令中的直接地址必须用方括号括起来;以示与指令中的立即数的区分 指令中的直接地址即为段内偏移(偏移地址),若欲与默认的段寄存器一起组成物理地址,则默认的段寄存器可以省略;否则,必须显式给出与直接地址一起组成物理地址的段寄存器名,这成为段超越,以逻辑地址的形式写出。 3.2.4 寄存器间接寻址 MOV AX,[SI] 操作数是以指定的寄存器内容为偏移地址的存储器的内容 MOV AX,[SI] ;[DS*16+(SI)]?(AX) 能用于间接寻址的寄存器有:SI,DI,BX,BP SI,DI,

文档评论(0)

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

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

1亿VIP精品文档

相关文档