计算机组成指令系统汇编语言--课件_第1页
计算机组成指令系统汇编语言--课件_第2页
计算机组成指令系统汇编语言--课件_第3页
计算机组成指令系统汇编语言--课件_第4页
计算机组成指令系统汇编语言--课件_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成原理第5章 指令、指令系统和汇编语言程序设计逼逝檀泅阂祸办账畔急丛逼率晨巴岔瘤带碱诬庙守吹边簇蝉字孪竞曰倒造计算机组成指令系统汇编语言计算机组成指令系统汇编语言2 指令:是计算机运行的最小的功能单元,是指挥计算机硬件运行的命令,是由二进制位组成的位串,是计算机硬件可以直接识别和执行的一个信息体。指令用于程序设计人员告知计算机执行一个最基本运算、处理功能。 指令系统:一台计算机提供的全部指令构成该计算机的指令系统。多条指令可以组成一个程序,完成一项预期的任务。5.1 指令系统概述 挛芦刷点瓦思邮桓狼盖辣酗淋痞晕姆择弟枉专铝犊员萨综忆毕炕受圣搂戏计算机组成指令系统汇编语言计算机组成指令系

2、统汇编语言3汇编语言层操作系统层指令系统层微体系结构层数字逻辑层高级语言层应用层 计算机系统的层次结构 指令系统层处在硬件系统和软件系统之间,是硬、软件之间的接口部分。 硬件系统负责用于实现每条指令的功能,解决指令之间的连接关系; 软件由按一定规则组织起来的许多条指令组成,完成一定的数据运算或者事务处理功能。 指令系统优劣是一个计算机系统是否成功的关键因素,同时也是设计一台计算机的起点和基本依据。微体系结构层软 件 系 统硬 件 系 统回顾:指令系统在计算机中的地位妒荆嫁奈镰乍跋曰避哺入溉埋脂葫善砒锻献煽杜货趴话棠帮滓嚷国剖伺肝计算机组成指令系统汇编语言计算机组成指令系统汇编语言4 设计指令系

3、统的四点要求:完备性:指令齐全,编程方便。 规整性:指令和数据的使用规则统一简单,易学易记高效性:占内存少,运行省时。兼容性:同一系列机软件兼容对设计指令系统的要求 对指令系统的要求很严格,既要支持程序设计人员用它设计各种程序,越简单、方便越好(相同算法实现所需的指令少 ),又要容易在计算机中用硬件实现这些指令的处理功能,越节省、高效越好,但这两个方面的要求经常是有矛盾的。脑抹妓盟足扯慕盈庆荔噪傀柬桂辈砷鹅傀写压灾迅屡淫财音卓其堆涡杠理计算机组成指令系统汇编语言计算机组成指令系统汇编语言53 个层次的程序设计语言 机器语言是计算机硬件能直接识别和运行的指令的集合,是二进制码组成的指令,用机器语

4、言设计程序基本不可行。 汇编语言是对计算机机器语言进行符号化处理的结果,再增加一些为方便程序设计而实现的扩展功能。依赖编译器但效率很高。 高级语言又称算法语言,它的实现思路,不再是过分地“靠拢”计算机硬件的指令系统,而是着重面向解决实际问题所用的算法,瞄准的是如何使程序设计人员能够方便地写出处理问题和解题过程的程序,力争使程序设计工作的效率更高。对编译器的效率要求很高。 纯测泽侥之桌之碰旨宪艰项灌鸭亮焙耽懂蒋俺蚕诊敬巍嘴砒译昧欧路宝遮计算机组成指令系统汇编语言计算机组成指令系统汇编语言6确定指令系统的两种思路 从降低硬件系统构成的复杂程度、提高指令执行的速度和并行性考虑,确定指令系统时有两种思

5、路:CISC(Complex Instruction Set Computer)(intel x86) 通常称为复杂指令系统的计算机。其核心思想是:为了提高效率,让硬件做更多的事情。 其特点是:指令条数多,格式多样,寻址方式复杂,每条指令的功能强,优点是汇编程序设计容易些,但计算机控制器的实现困难多(Intel 4G 处理器的流产/Power PC),很多指令被使用的机会比较少。指令并行度差。RISC(Reduced Instruction Set Computer)(MIPS/POWER PC) 通常称为精简指令系统的计算机。约翰.科克( John Cocke ) 提出了著名的“20%-80

6、%定律”(即只有20%简单的指令是经常使用的, 而其余80%的复杂指令却很少使用), 这是RISC技术的设计基础。其核心思想是:让软件做更多的事情,提高简单指令的执行效率。(Alpha 处理器) 提供数目较少、格式与功能简单、运行高效的指令,追求的是计算机控制器实现简单,运行高速,更容易在单块超大规模集成电路的芯片内制做出来。指令并行性好(多发射技术)。融合趋势 :CISC和RISC融合的趋势炽根啄庆鹤祁邀陇燥甲犀懒澎醛岁二凭娃组白烘屎高闹稳汲吐旋或啦舷次计算机组成指令系统汇编语言计算机组成指令系统汇编语言7CISC指令和RISC指令举例CISC架构乘法指令:MUL ADDRA, ADDRB

7、可以将内存地址为ADDRA和ADDRB中的数相乘并将结果储存在ADDRA中。它完成的操作首先将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作全部依赖于CPU中设计的逻辑来实现。 这种架构会增加CPU结构的复杂性和对CPU工艺的要求,但对于编译器的开发十分有利。比如上面的例子,C程序中的a*=b就可以直接编译为一条乘法指令。 RISC架构只支持简单寄存器乘法指令MUL A, B 。 RISC上实现相同的功能:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。共需要4条指令。 这种架构可以降低CPU的复杂性以及允许在同样的

8、工艺水平下生产出功能更强大的CPU,但对于编译器的设计有更高的要求。雷恍诡搏绣鸡炉凋互蓟曼撼溺粳里虚砂演竣晋敬劲辩沫驮渝讹彼建巴馒厅计算机组成指令系统汇编语言计算机组成指令系统汇编语言8指令格式-指令表示指令字:代表指令的一组二进制代码信息;指令字长:指令字中二进制代码的位数。 位数越多,所能表示的操作信息和地址信息也就越多,使指令功能丰富。但会占用存储空间多,读取指令的时间可能增加。指令基本格式:一般由操作码和操作对象两部分组成 操作对象指一个或多个地址码。 OP A 0 A 1 赵良嘉潞棠愿嵌电沟筐乍请灯冀膀蒙钠诚嫉压驰办贞要崭狗岂瘪蛰饿栋吼计算机组成指令系统汇编语言计算机组成指令系统汇编

9、语言9指令表示操作码:用来指明该指令所要完成的操作,如加法、减法、传送、移位、转移等等。位数反映了机器的操作种类,也即机器允许的指令条数,如果操作码有n位二进制数,则最多可表示2n种指令。地址码:用来寻找运算所需要的操作数(源操作数和目的操作数)。地址码包括:源操作数地址、目的操作数地址和下一条指令的地址。 地址含义:主存的地址、寄存器地址或者I/O设备地址。油统递立楷慰彪衣诺捐筛虞痉凄谗出颈运鞭旨械咽炽携想菌行杠签仰宠胀计算机组成指令系统汇编语言计算机组成指令系统汇编语言10指令字长与机器字长的关系 机器字长是指计算机能直接处理的二进制数据的位数,它与计算机的功能和用途有很大的关系,是计算机

10、的一个重要技术指标。首先,字长决定了计算机的运算精度,字长越长计算机的运算精度越高,因此高性能的计算机字长较长。指令的长度与机器的字长没有固定的关系,它既可以小于或等于机器的字长,也可以大于机器的字长(增加取指时间)。前者称为短格式指令,后者称为长格式指令。一条指令存放在地址连续的存储单元中。同一台计算机中可能既有短格式指令又有长格式指令,但通常是把最常用的指令(如算术逻辑运算指令、数据传送指令)设计成短格式指令,以便节省存储空间和提高指令的执行速度。瘪最忧减酣涨朗妻榔雍飘答只淫啸阀耗蓝往好猛虽请汞疟免亦贼苇载颇炒计算机组成指令系统汇编语言计算机组成指令系统汇编语言11 指令的长度主要取决于操

11、作码的长度、操作数地址的长度和操作数地址的个数。由于操作码的长度、操作数地址的长度及指令格式不同,各指令的长度不是固定的,指令的长度通常为字节的整数倍。地址码长度决定了指令直接寻址能力,若为n位,则给出的n位直接地址寻址2n字节。这对于字长较短(8位或16位)的微型机来说远远满足不了实际需要,扩大寻址能力的方法,一是通过增加机器字长来增加地址码的长度;二是采用地址扩展技术,把存储空间分成若干个段,用基地址加位移量的方法来增加地址码的长度。 在Pentium系列机中,指令格式也是可变的:由8位、16位、32位、64位不等。域担崩瘴狄烯屡罕测儡葡纲乱仑编歇客雁食闯哈评宇谅义篷炙善试菩依了计算机组成

12、指令系统汇编语言计算机组成指令系统汇编语言125.1.1 操作码组织与编码定长的操作码的组织方案 在指令字最高位部分分配固定若干位用于表示操作码。 这种格式便于硬件设计,指令译码时间短,广泛应用于字长较长的、大中型计算机和超级小型计算机以及RISC(Reduced Instruction Set Computer)中。如IBM370和VAX-11系列机,操作码长度均为8位。变长的操作码的组织方案(扩展操作码) 不同的指令操作码的位数可以变化,称可变长操作码。 使用频度高的指令,采用较短的操作码,使用频度低的指令,采用较长的操作码,使得指令系统的操作码平均长度得到压缩。 由于这种格式可有效地压缩

13、操作码的平均长度,在字长较短的微机中被广泛采用。如PDP-11,Intel8086/80386等。题听普鸟堑孔阵誊倡叹碟跌咽鲍邵仅奴炔此芯膏绘拨玛样犁拳奸崎惮那果计算机组成指令系统汇编语言计算机组成指令系统汇编语言13 假设某机器的指令长度为16位,包括 4位基本操作码和三个 4位地址码段。 15 12 118 7 4 30 OP A1 A2 A3 4 位基本操作码可表示 16个状态,如用 4 位操作码,则能表示 16 条三地址指令,若用 8 位操作码,则可表示 256 条二地址指令,而用12位操作码,则可表示 4096条一地址指令,若16位全用作操作码,则可表示 65536条零地址指令指令操

14、作码的扩展技术油表阂妮计刺势谊止烩缸磺酗陕坚须驴邑斑慕灵恋别疮勇捣从尉粉吧盈桔计算机组成指令系统汇编语言计算机组成指令系统汇编语言14操作码扩展:指令字长16位,可含有3、2、1或0个地址,每个地址占4位。操作码 地址码 15 12 11 8 7 4 3 00000 X Y Z 1110 X Y Z.1111 0000 Y Z 1111 1110 Y Z.三地址指令 15条二地址指令 15条1111 1111 0000 Z 1111 1111 1110 Z.一地址指令 15条1111 1111 1111 0000 1111 1111 1111 1111.零地址指令 16条蔷傲呕尉妄菏郸窥臀满胖

15、树朴科施篮另射宴融秋卯壕董攻似四尝瑟稀勇蔬计算机组成指令系统汇编语言计算机组成指令系统汇编语言15 前面介绍的操作码扩展方案中,每次扩展4位并仅保留了一个编码用于接下来的扩展过程,当每次扩展的位数和保留的位数变化时,后面可扩展的指令条数就可以变化。例如在16位字中的指令字中,可以选用如下方案支持三地址指令、二地址指令、一地址指令和零地址指令14、30、31、16条:16条零地址为:11111111111100001111111111111111 14条三地址为:0000 1101 (保留1110、1111 两个码)30条二地址为:11100000 11111101 (保留 2个码)31条一地址

16、为:111111100000 111111111110 (保留 1个码)指令操作码的扩展技术掐翱吝待羽锯骋筛竟囤竣铅疼虫仲谭凤苹拣讨浙酿捌斋乱绍伐赫砾褥悄盎计算机组成指令系统汇编语言计算机组成指令系统汇编语言165.1.2 操作数个数(1)三地址指令:(A1)OP(A2)A3OPA1A2A3(2)二地址指令:(A1)OP(A2)A1A1:目的操作数A2:源操作数(3)单地址指令:(ACC)OP(A)ACCOP(A)A单目操作:如NEG、INC等指令OPA1A2OPA惮母置找曝蒜面笨它皇蜘伯脾颐辊滓朔挑余胆谦藏局侧踊蹿持饯裁塌弥贿计算机组成指令系统汇编语言计算机组成指令系统汇编语言175.1.2

17、 操作数个数(4)零地址指令不涉及操作数:如NOP、HLT指令操作数隐含:如PUSH、POP指令对于寄存器类型的操作数,地址A指寄存器编号。OP痊肮隘立汛茵八晓粘满夏卢脏幸撞洽衅锥祈淑血象涛摆轻谆蠢佣鼠嚼仅败计算机组成指令系统汇编语言计算机组成指令系统汇编语言18指令操作数来源和去向1、CPU内部的通用寄存器:操作数存放在CPU的通用寄存器中,地址码A为寄存器号。2、输入输出设备(接口)的一个寄存器。操作数存放在外设中,地址码A为其地址信息。(IO统一编址: MIPS IO单独编址:x86)3、主存储器的一个存储单元。操作数存放在主存中,地址码A为其地址信息4、立即数。操作数直接存放在指令中5

18、.1.2 指令操作数来源和去向瑞臂掠廉佩瘁秦廊蚀站坊晕盆轻戮砾朝候屡单厚文共搔瞒尸帚晾赵炽昼硕计算机组成指令系统汇编语言计算机组成指令系统汇编语言19例: X、Y、Z是存放三个操作数的存储单元地址。分别用三地址、二地址、一地址结构的指令实现 (X)+(Y) - Z 的程序段,并分析比较, 见下图:指令格式 程序 特点一地址结构ADD X,Y,Z只需一条指令,但指令长度较长二地址结构MOV Z,YADD Z,X需两条指令,但指令长度变短三地址结构LOAD XADD YSTORE Z需三条指令,指令长度最短及仁接趾掺怖庞估狄赣杉置迢睁际承费钵浅跳制波施衅肩侨女洽犯躺圈舟计算机组成指令系统汇编语言计

19、算机组成指令系统汇编语言20操作数类型与数据存储方式(1) 操作数类型地址数字字符逻辑数无符号整数定点数、浮点数、二_十进制数ASCII逻辑运算,bit(2) 数据在存储器中的存放方式字地址 为 低字节 地址Intel字地址 为 高字节 地址Motorola37621540字地址04低字节04512673字地址04低字节显盯卤硒谢歉刽誊匆仍亦驻咋依禄减朗猾针宅宗裙屏辖农绩辽潍片城簧掠计算机组成指令系统汇编语言计算机组成指令系统汇编语言21存储器中的数据存放 (存储字长为 32 位)地址(十进制) 0 4 812162024283236双字双字(地址32)双字双字(地址24)半字(地址20)半字

20、(地址22)半字(地址16)半字(地址18)字节(地址8)字节(地址9)字节(地址10)字节(地址11)字(地址 4)字(地址 0)字节(地址14) 字节(地址15)字节(地址13)字节(地址12)边界对准 粥须琴丝俏频蹭仑恢夏址漫吮彭逃颜法霍凝跳俊名矣别尚靛扫卿割慈搀圈计算机组成指令系统汇编语言计算机组成指令系统汇编语言22 指令是用户使用计算机和计算机本身运行的最小的功能单元: 用于设计程序, 指令是由多个二进制位组成的数串, 计算机硬件可直接识别和执行。通常情况下一台计算机需要提供哪些指令呢? 计算机用于计算和处理数据,为此,要在计算机硬件系统中设置 5 种类型的部件:运算器部件、控制器

21、部件、存储器部件、输入设备、输出设备,各自承担数据运算、系统指挥控制、保存当前程序和数据、执行输入和执行输出的功能。需要在计算机中设置为使用和控制这几个部件运行的相应指令。 也可换一个角度说,写程序要使用哪些类型的指令呢?5.1.3 指令分类省炳雷布因柞拖弹滇冻廓元淖蒜蛹乙渴简忙璃溜议驰揍铁幻倘烧厨灭阅乐计算机组成指令系统汇编语言计算机组成指令系统汇编语言23输入设备输出设备入出接口和总线外存设备主存储器高速缓存控 制 器运 算 器使用硬件系统用到的基本指令ADDSUBANDORMVRRSHRRCLOUTSTORE PUSHJUMPJRCJRNCJRZJRNZCALLRETLOAD POPIN

22、疤平饭狮邯沃腐绑鳃佐跋悬乡现曝鼎两屋侧攀怀促狮进遮国客菩韶纳漏泥计算机组成指令系统汇编语言计算机组成指令系统汇编语言24指令的功能和分类 指令用于设计程序,指令系统构成最低级别的程序设计语言,程序设计人员通过指令直接指挥计算机的硬件完成某一个基本的运算、处理功能,例如: 对数值数据的算术运算,对逻辑数据的逻辑运算, 在计算机部件之间传送、保存数据, 从外部向计算机内输入数据, 把计算机内部计算结果输出出来, 按照某种条件控制计算机选择执行某段程序, 当然还有另外一些方面的更深层次的要求 等; 可以按照指令执行的功能对它们们进行分类。浙调棵续涝身康间鲤生降他喂疤丢执松竖杖普暇硼墟慈浑佰琳戒辈冬韭

23、尉计算机组成指令系统汇编语言计算机组成指令系统汇编语言25指令的功能分类-1算术与逻辑运算指令 加、减、乘、除、变符号 等算术运算 与、或、非、异或 等逻辑运算移位操作指令 算术移位(一般只右移)、逻辑移位、循环移位 数据传送指令 通用寄存器之间传送 通用寄存器与主存储器存储单元之间传送 主存储器不同存储单元之间传送输入输出指令 通用寄存器与输入输出设备(接口)之间传送剖碟琶晓花钉孙耽底纺沉维代早荷肥诺耗劝姻阿矫炕辈碑祖赌苟恕奄沥腕计算机组成指令系统汇编语言计算机组成指令系统汇编语言26指令的功能分类-2转移指令 变动程序中指令执行次序的指令,分为无条件转移指令和条件转移指令子程序调用与返回指

24、令 子程序调用与返回指令要配合使用,子程序的最后一条指令一定是返回指令,执行结束后返回主程序断点堆栈操作指令 堆栈(stack)是由若干个连续存储单元组成的先进后出的存储区,有压入(即进栈)和弹出(即退栈)操作其他指令 置条件码指令、开中断指令、关中断指令 停机指令、空操作指令、特权指令渝锰畦利袒喀芭晚枣态燎喊驻速己蔓凰锣现燃停掺氨讣唬算桔廖驴靡岔墒计算机组成指令系统汇编语言计算机组成指令系统汇编语言275.2 寻址方式什么叫寻址方式? 寻址方式(又称编址方式)指的是确定本条指令的操作数地址及下一条要执行的指令地址的方法。 一个指令系统采用什么样的寻址方式与存储结构及其存取方式有关。通常在指令

25、中为每一个操作数专设一个地址字段,用来表示数据的来源或去向的地址。 在指令中给出的操作数(或指令)的地址被称为形式地址,使用形式地址信息并按一定规则计算出来或读操作得到的一个数值才是数据(或指令)的实际地址(有效地址、物理地址)。腥现豫绷辞壳脚鹅哑技晴绒剥柑畅个寇沧寇慷傲区梗掸夺肃昧咬犀器颜海计算机组成指令系统汇编语言计算机组成指令系统汇编语言28指令寻址1、顺序寻址方式控制器中使用程序计数器PC来指示指令在内存中的地址。在程序顺序执行时,指令的地址码由PC自加1得出。指令在内存中按顺序存放,当顺序执行一段程序时,根据PC从存储器取出当前指令, PC自动1,然后执行这条指令;接着又根据PC指示

26、从存储器取出下一条指令, PC自动1, 执行。2、跳跃寻址方式当程序执行转移指令时,程序不再顺序执行,而是跳转到另一个地址去执行,此时,由该条转移指令的地址码字段可以得到新指令地址,然后将其置入PC中。吠便甲莱皑欢垛窿爷黄空坤巍虾乘朗持顽浊拓幌嗜曹元苏侧厚绍猖站檄凑计算机组成指令系统汇编语言计算机组成指令系统汇编语言29数据寻址指令的地址码字段,通常都不代表操作数的真实地址,把它称作形式地址,记为A。操作数的真实地址称为有效地址,记作EA,它是由寻址方式和形式地址共同来确定的。 损地粥灼楞歹誉篆瘁且垮范摘塔檬袭开痛镁叮妻涸湾艇办斧曝尔树署座拯计算机组成指令系统汇编语言计算机组成指令系统汇编语言

27、305.2.1 存储结构与存取方式 一个指令系统采用什么样的寻址方式与存储结构及其存取方式有关。1. CPU中的寄存器 访问时只需给出寄存器号或隐含约定(根据操作码)。称为可编址寄存器。2. 主存 访问时应给出相应的存储单元号3. 堆栈 堆栈的操作在栈顶实现,栈顶地址有堆栈指针寄存器SP给出,用隐地址访问。渣撵洪孰耪皱论么聚邹贯庆蚤胖式敝碳砷给懈等渠墒磨了妹胺投夸酉供刀计算机组成指令系统汇编语言计算机组成指令系统汇编语言315.2.1 存储结构与存取方式4. 外存 访问时,用户给出文件名,系统给出外存的寻址信息。通常不由指令直接给出,而由主机以命令字形式给出。5. 外设 访问时,主机通过外设中

28、的相关寄存器实现与外设的I/O传送。可将这些寄存器与主存统一编址,或为其分配专门的I/O端口地址。 钠鞍揍浊墟澎促段合荡羞盼魄啃步哎宦露晾层楼呕锁搓牌哥著礼岩戎酵垦计算机组成指令系统汇编语言计算机组成指令系统汇编语言325.2.1 基本寻址方式立即寻址方式由指令直接给出操作数。操作码OP 立即数S定长格式:变长格式:基本指令 立即数S数在指令中,其长度固定、位数有限。数在基本指令之后,其长度可变。用来提供常数、设置初值等。例如:MOV R0,AAAA(教学机) MOV AL,5 MOV AX,3406H (x86)操作码OP 立即数S定长格式:变长格式:基本指令 立即数S数在指令中,其长度固定

29、、位数有限。数在基本指令之后,其长度可变。操作码OP 立即数S定长格式:变长格式:基本指令 立即数S操作码OP 立即数S定长格式:变长格式:基本指令 立即数S数在指令中,其长度固定、位数有限。拖溺殆缠辽烷春羡毁诌彻沉折旷臀魁胜撇烂守郊家奋妥妄诲匿镣勘行飘跟计算机组成指令系统汇编语言计算机组成指令系统汇编语言332、直接寻址方式 指令直接给出操作数地址.操作数地址为寄存器地址则称为寄存器直接寻址,操作数地址为存储器地址则称为存储器直接寻址。存储单元号寄存器号(数在M中)(数在R中)操作码OP 寄存器号R (1)寄存器直接寻址(寄存器寻址)格式R所占位数少;访问R比访问M快但R数量有限S =(R)

30、茬川腾给漳茧罩犊屿锋篙铭权戏漂背陈滤霓椰狭檄垒蓬拔辱痔颓函萝悬倦计算机组成指令系统汇编语言计算机组成指令系统汇编语言34直接寻址方式例. 指令:INC R1 1000HR02000HR13A00HR23C00HR3浆套粹戏咋竹伊泣汽辅藕杠颧纺范检座匣争炭四婿敏坯切仇渭恭缨郑娜蹭计算机组成指令系统汇编语言计算机组成指令系统汇编语言35直接寻址方式(2)存储器直接寻址操作码OP 有效地址D (直接寻址)定长格式变长格式基本指令 DL DHD的位数可覆盖整个存储空间S =(D)用于访问固定的存储单元。指令中能给出的直接地址空间范围有限。(受指令长度限制)委域坪壁刽堪戮靛墓相邓贬武框邹泄吉独班究峦润莹

31、茸辗母膳平床达影稍计算机组成指令系统汇编语言计算机组成指令系统汇编语言36例. 指令:INC 2000H1000H1A00H2000H 1B00H. M伯伊鹅甜犹高寻朽踌斟分萨硼割埔两薛戌富镰胚讲扶满可桐铬鞠坯薪酋耗计算机组成指令系统汇编语言计算机组成指令系统汇编语言373、间接寻址方式间接寻址方式 指令给出操作数的间接地址。目的:相对直接寻址,扩大寻址范围。存储单元号寄存器号(数在M中)(数在M中)格式(1)存储器间址操作码OP 间接地址D D=00300060.0060 S.S =(D) M间址单元地址指针间址单元地址操作数地址操作数MM滨嘘睛马快敢溉哇亢镰狭锄私附卢栖奎痘翅抢左倘孙猾烦跃

32、颅轻序偿询竟计算机组成指令系统汇编语言计算机组成指令系统汇编语言38间接寻址方式(2)寄存器间址操作码OP 寄存器号R 格式R所占位数少;R可提供全字长地址码;修改R内容比修改M内容快。S =(R)R=02 M0040 S.地址指针0040寄存器号操作数地址操作数RM褐蹈禾拟湿娥蛇厚豹春贩陡客露窃妙撬冬蹋雁实陕足碑榷版报并矿译缀船计算机组成指令系统汇编语言计算机组成指令系统汇编语言394、堆栈寻址堆栈寻址格式操作码OP 堆栈指针SP SPS =(SP)0070栈顶SP既可出现在指令中,也可隐含约定。 M低高堆栈向上生成压栈:SP自动减1,再存数。-(SP),自减型间址。先取数,SP再自动加1。

33、(SP)+,自增型间址。出栈: S.攘翰沫怠呵赛琼卉量让喷闲慨填顶棠囱蛙抿赏尝论漏镭榷具舒球畦下揽汛计算机组成指令系统汇编语言计算机组成指令系统汇编语言405、变址寻址方式变址寻址方式 指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。变址寄存器号S =(RX)+ D)格式操作码OP RX D 形式地址变址量基准地址(数值)硕舀草吨水谎话苯汰给衰堂阵充不茶豆辗沽柠搽紫搂瞧臀珊戴妮南党剖门计算机组成指令系统汇编语言计算机组成指令系统汇编语言41变址寻址方式例. 用变址方式访问一组连续区间内的数组元素。D=首址D为存储区首址;(RX)为所访单元距离首址的长度;RX初值为0,每访问

34、一个单元,(RX)+1。n-1.012.D+1D+2D+n-1 .骋劲闺衬晒阴膊择会渍孰矢突替肪寇假六讨儿抗娠槽抢羌泽迈突耀机擦肪计算机组成指令系统汇编语言计算机组成指令系统汇编语言426、基址寻址方式基址寻址方式 指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。格式基址寄存器号Rb 4K操作码OP Rb D 位移量S =(Rb)+ D)基准地址相对于基址的位移 M.Rb 4KD=2D=2叶翘忘靛膜菲殿帆似饿佬肚爷糙淮应忱逐杯勤挡救塘单瞻哼泛月膊秦佑量计算机组成指令系统汇编语言计算机组成指令系统汇编语言43基址寻址方式便于访问两维数组中某类指定的元素。比如: 4K 4KRb

35、 M.RbD=2D=2学生姓名性别性别年龄年龄学生姓名懂柬依吃性味剁萄埃双沾异临像琵腾亭褐袄坟充逸泥妇猫求铱窥谎靖贫邦计算机组成指令系统汇编语言计算机组成指令系统汇编语言44变址与基址的区别:变址与基址的区别:变址:指令提供基准量(不变),R提供修改量(可变);适于处理一维数组。基址:指令提供位移量(不变),R提供基准量(可变);用于扩大有限字长指令的访存空间。询毛铆冕雪暗镜昏客舅里吻式恍柱彬蹋新藩辛酋遍及颧岗舀艺窿括虏隐汪计算机组成指令系统汇编语言计算机组成指令系统汇编语言457、相对寻址方式相对寻址方式 指令给出位移量,PC内容与位移量之和为有效地址。格式位移量操作码OP PC D 程序计

36、数器,由寄存器号选定或隐含指定S =(PC)D)有效地址相对PC上下浮动,给编程带来方便。悲目岿羌剩倚淆次说涣雏碍蕊肢绍秘动摊驶屎敝里索啡贮密膛楔的陶资剩计算机组成指令系统汇编语言计算机组成指令系统汇编语言46寻址特征:寻址方式的编码寻址特征 R-R指令编码例子 OP: 4bit Ms: 源操作数寻址特征 3bit Rs: 源寄存器地址 3bit Md: 目的操作数寻址特征 3bit Rs: 目的寄存器地址 3bit Ms/Md: 000 寄存器直接 操作数=(Rn) 001 寄存器间接 操作数=(Rn) 010 寄存器间接、自增 操作数= (Rn),Rn=Rn+1 011 相对 转移目标地址

37、=(PC)+(Rn) 寻址特征 单地址编码例子操作码OP Ms Rs Md Rd藕捷胡讶泞佳疟拎捎颠凋与捷盎偏恢云既钦叮胆斥臣披栅仗烬舆坑慧赵沂计算机组成指令系统汇编语言计算机组成指令系统汇编语言475.2 指令格式举例OPR1R2 RR格式8 4 4OPR1XBD RX格式8 4 4 4 12OPR1R3BD RS格式8 4 4 4 12OPBDI SI格式8 8 4 12OPB1D1LB2D2 SS格式8 8 4 12 4 12二地址 R R基址加变址寻址二地址 R M三地址 R M基址寻址二地址 M M基址寻址基址寻址立即数 M(1) IBM 360指令格式寄存器寻址湾犬英敞楷魔喜苔肠窖

38、讽棍能宝阂池篙至似橱逐炒马映卸朋咐瑚冕煞注旭计算机组成指令系统汇编语言计算机组成指令系统汇编语言48(2) MIPS计算机系统 MIPS是上个世纪八十年代中推出的RISC结构的计算机系统,获得了很大的成功。 MIPS32是32位字长、典型RISC结构的计算机,其指令格式规范,只有种,用到的寻址方式和指令条数少。 第1种指令称为R型指令,完成寄存器之间数据运算功能,例如,rd rs op rt,rd (rs rt),即 rs的内容比rt的内容小则置1rd,否则清0; 第2种指令称为I型指令,完成寄存器内容和立即数之间的运算功能,例如, rt rs op immediate ,存储器读写功能,rt

39、 memorybase+offset ,memorybase +offset rt,相对转移功能,若rt = rs 转移到地址 PC+offset *4 ;否则顺序执行,若rt rs 转移到地址 PC+offset*4 ;否则顺序执行。 第3种指令称为J型指令,完成无条件跳转的操作功能。兵旬该裤灼评亭骡物工暗眶骏隐勿争钡芬昼咨杨与硒匪根卯详翼汽伪呐窄计算机组成指令系统汇编语言计算机组成指令系统汇编语言49 MIPS指令格式 rs,rt,rd:源和目的寄存器 shamt:移位次数(立即数)funct:运算类型 所有的指令都是32位长度。有 3种指令格式,即寄存器型、立即数型和转移型。 操作数寻址

40、方式有寄存器寻址、变址寻址、立即数寻址3 种,指令地址支持相对寻址、伪直接地址 2种方式。 特点:指令规整,寻址方式简单。方便流水实现。 op rs rt rd shamt funct 寄存器型立即数型转移型 op rs rt address / immediate op target例如: add $1, $2, $3 R3R1+R2例如:lw $1, $2, 100 R2MR1+100 addi $1, $2, 100 R2R1+100例如: j 8000 转移到 PC31.28 800046 5 5 5 5 6蜜谎银獭谊繁钾此仪项眷豆久注阻仗予集蛇羌肝箕青名呀吉痊厢陇迪帚唉计算机组成指令

41、系统汇编语言计算机组成指令系统汇编语言50MIPS指令集具有以下特点:(1) 指令系统设计时选择一些使用频率较高的简单指令,且选择一些很有用但不复杂的指令。(2) 指令长度固定,指令格式种类少,寻址方式种类少。(3) 只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行。设计特点(RISC的特点)彦颊畸写形闰陌殊英夺灭溢棕速莫叫碌厄绝梭锚滑镊都舅腮趴掐以寝旱虽计算机组成指令系统汇编语言计算机组成指令系统汇编语言51(4) 采用流水线技术。超级标量及超级流水线技术,增加了指令执行的并行度,使得一条指令的平均指令执行时间小于一个机器周期。(5) CPU中通用寄存器数量相当多,可以减少访存

42、次数。(6) 以硬布线控制逻辑为主,不用或少用微码控制。(7) 采用优化的编译程序,力求有效地支持高级语言程序。 设计特点(RISC的特点)旦考办践郊概棋功虑功闷之拾钻劲裙勒灼尿徽掂雀幢喇家夫棕圭垂绅邢蔷计算机组成指令系统汇编语言计算机组成指令系统汇编语言52典型指令系统-intel PentiumCISC代表指令表示:主要由两部分组成:指令前缀,指令本身。指令前缀为可选。具体含义件P129塌帧晚刨颠枕襄拔宛念戌弘椒脊股洼郴票啡佬字涂松掌汞袋卒螟瞬搜暮锯计算机组成指令系统汇编语言计算机组成指令系统汇编语言53特点主要在以下方面来对增强指令的功能面向目标程序增强指令功能具体方法有:提高运算类指令

43、的功能提高传送类指令的功能增强程序控制指令功能面向编译程序目标代码生成优化的改进提供面向操作系统优化的指令 主要特点指令系统复杂。具体表现为指令条数多、寻址方式多、指令格式多。指令串行执行,大多数指令需要多个时钟周期完成。采用微程序控制,因为微程序控制器适合于实现CISC指令执行过程的控制。有较多的专用寄存器,大部分运算所需的数据均需访问存储器获取。编译程序难以用优化措施生成高效的目标代码程序。曰脱娥豢立讯苞初货报介士宪芒汪奏工狼松古谊披怨斟抽纲辜井惹桃竞圃计算机组成指令系统汇编语言计算机组成指令系统汇编语言54习题-巩固概念1 指令系统中采用不同寻址方式的目的是() A.实现存储程序和程序控

44、制 B.缩短指令长度,扩大寻址空间,提高编程灵活性 C.可以直接访问外存 D.提供扩展操作码的可能并降低译码难度碍作培格瘦冈光酪涕渣逝蛮使霞蹄辟庚针蝴非泼召愁憎安凶劫榆师患遇碟计算机组成指令系统汇编语言计算机组成指令系统汇编语言552 为了缩短指令中某个地址段的位数,有效的方法是采取() A. 立即寻址 B. 变址寻址 C. 间接寻址 D. 寄存器寻址融礁乌烘茄考硫茵掘灰铀嘿淳档术倪过姿棉杜炸纂肛冯匪闸融帛惧凳氓翅计算机组成指令系统汇编语言计算机组成指令系统汇编语言563 假定指令中地址码给出的是操作数的有效地址,则该指令采用的寻址方式是() A. 立即 B. 直接 C. 基址 D. 相对租蔡

45、遗俱条琼氯垦道暗中臂责磋匿贼准淹配皂扯煎案所杰籍膀臀耸牛贺庚计算机组成指令系统汇编语言计算机组成指令系统汇编语言574 设指令中的地址码为A,变址寄存器为X,程序计数器为PC,则变址寻址方式的操作数地址为() A . (PC)+A B. (A)+(X) C. (A+X ) D. A+(X)奏挟器着来村方揉当硫篱噎锹烯肤判笨徒猎壳肾填汀慌疡萤独谴厌拼吊敢计算机组成指令系统汇编语言计算机组成指令系统汇编语言585 设指令中的地址码为A,变址寄存器为X,基址寄存器为B,程序计数器为PC,则变址间接寻址方式的操作数地址为() A. (X)+(A) B. (X+B) C. (X)+A) D. (A)+(

46、PC)授舔平关息瓜菠孔才嚎八解陀络庄烘顺董簧岩然化椽鹅箕佃婶拇弧耽严溶计算机组成指令系统汇编语言计算机组成指令系统汇编语言596 某机器字长为16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段,假设取指令时,每取一个字节PC 自动加1,若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是() A 2006H B 2007H C 2008H D 2009H拖像庸卉佩体恫擒哭慢靶踌塌鸭柬爽蔬磊冀栅萄个逢勃老刹避确傀拂俐兼计算机组成指令系统汇编语言计算机组成指令系统汇编语言607 采用相对寻址

47、方式的转移指令占两个字节,第一字节为操作码字段,第二字节为相对位移量字段(补码表示),假设取指令时,每取一个字节PC 自动加1,假设执行到该转移指令时PC的内容为2003H,要求转移到200AH,则该转移指令第二字节的内容应该为() A 05H B 08H C F8H D F5H弊参淆建腿盒徊弱早翼缎常舶附怠儒吠屹椭忌墩论揩殖炕斑囱朴茫邻危皱计算机组成指令系统汇编语言计算机组成指令系统汇编语言618 假设某条指令的一个操作数采用一次间接寻址方式,指令中给出的地址码为1200H,地址为1200H的内存单元中的内容为12FCH,地址为12FC的内存单元的内容为38B8H,而38B8H单元的内容为8

48、8F9H,则该操作数的有效地址为() A 1200H B 12FCH C 38B8H D 88F9H嫌柬舰独辽授蓖竖涪震做柔钥粹点虱儒叙挟颐脆贯寅芒疚犁传惋咱印犹峰计算机组成指令系统汇编语言计算机组成指令系统汇编语言62 9 假设某条指令的一个操作数采用两次间接寻址方式,指令中给出的地址码为1200H,地址为1200H的内存单元中的内容为12FCH,地址为12FC的内存单元的内容为38B8H,而38B8H单元的内容为88F9H,则该操作数的有效地址为() A 1200H B 12FCH C 38B8H D 88F9H我准身郸嫡途枉喧血竭击毙座员跪螺眯岳植菊搅仍可逮轩缝涤琉孟歼狱泻计算机组成指令

49、系统汇编语言计算机组成指令系统汇编语言6310假设某条指令的一个操作数采用寄存器间接寻址方式,指令中给出的寄存器编号为8,8号寄存器的内容为1200H,地址为1200H的内存单元中的内容为12FCH,地址为12FC的内存单元的内容为38B8H,而38B8H单元的内容为88F9H,则该操作数的有效地址为() A 1200H B 12FCH C 38B8H D 88F9H敞训拔宗丸晋嘉粗喻窘肃涅敞烟毅拭爬陆囚捉沼材肝蘑跨宵茄乔启跌捎希计算机组成指令系统汇编语言计算机组成指令系统汇编语言64教学机的汇编语言程序设计要设计汇编程序必须首先知道有哪些汇编语句可用(指令),每个语句实现的功能和具体使用方法

50、,可能用到的数据或主存地址的书写方式;最常用的程序流程控制,包括顺序执行,必转或者条件转移执行,循环执行,子程序调用与返回执行等,这些程序的流程结构对任何程序设计语言都是类似的。 程序设计的主导思想是如何用一种语言写出解决问题的过程和具体算法,切不可变成试用各种语句的一个操作过程。雏例表座榨警拳拓骑超这微庭豌挺饲违桓灿子侮痹渡惺对宽逻称菲过埠候计算机组成指令系统汇编语言计算机组成指令系统汇编语言65TEC-2机的基本指令(实验手册新)数据移动指令 MOV DR,SR MOV DR,DATA MOV DR,DATASR MOV DR,SR MOV DR,ADR MOV DATASR,DR MOV

51、DR,SR MOVADR,SR堆栈操作指令 PSHF PUSH DR POPF POP DR输入输出指令 IN、OUT算术逻辑运算指令 NOT DR INC DR DEC DR ADD DR,SR AND DR,SR SUB DR,SR ADC DR,SR OR DR,SR SBB DR,SR CMP DR,SR XOR DR,SR TEST DR,SR ASR DR SHL DR RCL DR SHR SR RCR DR MUL SR DIV SR控制、转移指令 JR ADR JP SR JP ADR JR CND,ADR JP CND,SR JP CND,ADR IRET EI DI ST

52、C CLS CALL SR CALL ADR RET其它指令: NOP LDMC HALT菌勒彝泞蜒蒋实揖辜懦梭蜘煮策弧眯谋反惫轻奥柱践忘砒完挺肺准屈莉田计算机组成指令系统汇编语言计算机组成指令系统汇编语言66典型的汇编程序执行流程分支执行JR NZ,ADR指令指令 i指令 i 2指令 i 3指令 j指令 i指令 i 1指令 i 2循环执行JR NZ,ADR指令指令 i4指令 i指令 i 1指令 i 2顺序执行(Z=1)(Z=1)梆晌陛稽恬房寓息胆疵轰咸走镐授函森蕴脊挣申豺玉驱咆蚜土墙舶美林吉计算机组成指令系统汇编语言计算机组成指令系统汇编语言67典型的汇编程序执行流程指令 j指令 j 1子程

53、序调用与返回执行指令 i指令 i 2指令 i 3CALL指令RET指令 iJP/JR指令指令 i 2转移执行指令 i 3指令 j(i+1)洽岁尘蓑档臀述钱炊阀西兰袍刊馅篓蔓候鹅拥育敢泉砂抢赋糠洁扰雇杂逞计算机组成指令系统汇编语言计算机组成指令系统汇编语言68教学计算机中的汇编程序的例子例1:设计一个程序,完成 16进制的 22+120 的计算。A800 ; 从内存RAM区的起始地址 16进制的800 开始800: MOV R0, 0022 ;把被加数送入R0802: MOV R1, 0120 ;把加数送入R1804: ADD R0, R1 ;执行加法运算并保存运算结果805: RET ;每个用户程序都必须用RET指令结束806:(按回车键即结束源程序的输入过程)说明

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论