计算机组成原理第四章ppt,计算机组成原理-第四章--指令系统.ppt

253b171540df25e1b84436cbe50dfc72.gif计算机组成原理-第四章--指令系统.ppt

1,第四章 指令系统,4.1 指令系统的发展与性能要求 4.2 指令格式 4.3 操作数类型 4.4 指令和数据的寻址方式 4.5 典型指令 4.6 ARM汇编语言,返回,2,4.1 指令系统的发展与性能要求,4.1.1 指令系统的发展 4.1.2 对指令系统性能的要求 4.1.3 低级语言与硬件结构的关系,3,4.1.1 指令系统的发展,指令系统基本概念 指令就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。微指令是微程序级的命令,它属于硬件; 宏指令由若干条机器指令组成的软件指令,它属于软件; 机器指令介于微指令与宏指令之间,通常简称为指令,每一条指令可完成一个独立的算术运算或逻辑运算操作。 本章所讨论的指令,是机器指令。 一台计算机中所有机器指令的集合,称为这台计算机的指令系统。 指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围,4,4.1.1 指令系统的发展,发展情况 复杂指令系统计算机,简称CISC。指令系统多达二三百条。 CISC中大约有20的指令使用频率高,占据了80的处理机时间,而有80的不常用指令只占用处理机的20时间。 VLSI技术发展引起的问题 VLSI工艺要求规整性,而大量复杂指令控制逻辑极其不规整,给VLSI工艺造成了很大的困难。 现在用微程序实现复杂指令与用简单指令组成的子程序相比,没有多大的区别。因为现在控制存储器和主存的速度差缩小。 CISC中,通过增强指令系统的功能,简化了软件,增加了硬件的复杂程度。然而指令复杂了,指令的执行时间必然加长,从而使整个系统的执行时间反而增加,因而在计算机体系结构设计中,软硬件的功能分配必须恰当,但是如此庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而造成硬件资源浪费。 精简指令系统计算机简称RISC,人们又提出了便于VLSI技术实现的精简指令系统计算机。1选取使用频率高的简单指令,指令条数少。2指令条数固定,指令格式种类少,寻址方式种类少。3只有取数、存数指令访问存储器,其他指令的操作都在寄存器之间进行。,5,4.1.2 对指令系统性能的要求,完备性完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。一台计算机中最基本、必不可少的指令是不多的。许多指令可用最基本的指令编程来实现。例如,乘除运算指令、浮点运算指令可直接用硬件来实现,也可用基本指令编写的程序来实现。采用硬件指令的目的是提高程序执行速度,便于用户编写程序。 有效性有效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更好的有效性。 规整性规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。对称性是指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性是指一种操作性质的指令可以支持各种数据类型,如算术运算指令可支持字节、字、双字整数的运算,十进制数运算和单、双精度浮点数运算等;指令格式和数据格式的一致性是指指令长度和数据长度有一定的关系,以方便处理和存取。例如指令长度和数据长度通常是字节长度的整数倍。 兼容性系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。,6,4.1.3 低级语言与硬件结构的关系,低级语言与高级语言关系,7,4.2 指令格式,4.2.1 操作码 4.2.2 地址码 4.2.3 指令字长度 4.2.4 指令助记符 4.2.5 指令格式举例指令格式包括两个方面,8,4.2.1 操作码,设计计算机时,对指令系统的每一条指令都要规定一个操作码。指令的操作码OP表示该指令应进行什么性质的操作,如进行加法、减法、乘法、除法、取数、存数等等。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。 组成操作码字段的位数一般取决于计算机指令系统的规模。较大的指令系统就需要更多的位数来表示每条特定的指令。 等长(指令规整,译码简单) 例如IBM 370机,该机字长32位,16个通用寄存器R0R15,共有183条指令;指令的长度可以分为16位、32位和48位等几种,所有指令的操作码都是8位固定长度。 固定长度编码的主要缺点是信息的冗余极大,使程序的总长度增加。,9,4.2.2 地址码,根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。 三地址指令 二地址指令 单地址指令 零地址指令,操作码(4位)1(6位) 2(6位),操作码,A3(6位),10,4.2.2 地址码,三地址指令 指令格式如下 OP A1 A2 A3 操作码op 第一操作数A1 第二操作数A2 结果A3 功能描述 A1 opA2A3 PC 1PC 这种格式虽然省去了一个地址,但指令长度仍比较长,所以只在字长较长的大、中型机中使用,而小型、微型机中很少使用。,11,4.2.2 地址码,二地址指令 其格式如下 OP A1 A2 操作码op 第一操作数A1 第二操作数A2功能描述 A1 opA2A1 PC1PC 二地址指令在计算机中得到了广泛的应用,但是在使用时有一点必须注意指令执行之后,A1中原存的内容已经被新的运算结果替换了。,12,4.2.2 地址码,二地址地址根据操作数的物理位置分为 SS 存储器-存储器类型 RS 寄存器-存储器类型 RR 寄存器-寄存器类型慢,13,4.2.2 地址码,一地址指令 指令格式为 OP A1 操作码op 第一操作数A1 功能描述 AC opA1 A1 PC1PC 单操作数运算指令,如“1”、“-1”、“求反” 指令中给出一个源操作数的地址,14,4.2.2 地址码,零地址指令 其格式为 OP操作码op “停机”、“空操作”、“清除”等控制类指令。,15,4.2.3 指令字长度,概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令 多字长指令的优缺点 优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。 指令系统中指令采用等长指令的优点各种指令字长度是相等的,指令字结构简单,且指令字长度是不变的 ; 采用非等长指令的的优点各种指令字长度随指令功能而异,结构灵活,能充分利用指令长度,但指令的控制较复杂 。,16,4.2.4 指令助记符,由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是我们用二进制来书写程序却非常麻烦。 为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符 用34个英文字母来表示操作码,一般为英文缩写 不同的计算机系统,规定不一样 必须用汇编语言翻译成二进制代码,4.2.4 指令助记符,典型指令助记符 加法 ADD 001 减法 SUB 010 传送 MOV 011 跳转 JMP 100 转子程序 JSR 101 存数 STO 110 取数 LAD 111,18,4.2.5 指令格式举例,8位微型计算机的指令格式 如8088,字长8位,指令结构可变 包括单字长指令、双字长指令和三字长指令 操作码长度固定,19,4.2.5 指令格式举例,MIPS R4000 20世纪80年代后期 RISC计算机系统,32位字长,32个通用寄存器。 R型(寄存器)指令算术运算数据放在通用寄存器中 6位 5位 5位 5位 5位 6位 op rs rt rd shamt funct,I型(立即数)指令取数、存数指令访问存储器 6位 5位 5位 16位op rs rt 常数或地址,20,4.2.5 指令格式举例ARM指令格式,21,4.2.5 指令格式举例,例1分析下列指令格式的特点15 9 7 4 3 0OP 源寄存器 目标寄存器解1.单字长二地址指令2.操作码字段可以指定128条指令3.源寄存器和目标寄存器都是通用寄存器,两个操作都 在寄存器中,RR型指令4. 常用于算术逻辑运算,22,4.2.5 指令格式举例,例2分析下列指令格式的特点15 10 7 4 3 0OP 源寄存器 变址寄存器位移量16位解1.双字长二地址指令,访问存储器2.操作码字段可以指定64条指令3.一个操作数在源寄存器中,另一个在存储器中由变址寄存器和位移量决定,RS型指令,23,4.2.5 指令格式举例,例3 MIPS R4000汇编语言中,寄存器s0s7对应寄存器号为 十进制1623,寄存器t0t7对应的寄存器号为815。请将下 表4条汇编语言翻译成对应的机器语言十进制数表示。,24,4.3 操作数类型,4.3.1 一般的数据类型 4.3.2 Pentium数据类型 4.3.3 Power PC数据类型,25,4.3.1 一般的数据类型,地址数据无符号整数。 数值数据计算机中普遍使用的三种类型的数值数据 1.定点整数,小数 2.浮点数 3.压缩十进制数。 字符数据文本数据或字符串,目前广泛使用ASCII码。 逻辑数据一个单元中有几位二进制bit项组成,每个bit的值可以是1或0。当数据以这种方式看待时,称为逻辑性数据。,26,4.3.2 Pentium数据类型,常规字节,字16位,双字32位,四字64位 整数字节,字,双字,四字 有符号二进制数序数字节,字,双字,四字 无符号整数未压缩的BCD范围0-9的BCD数字表示,每字节一个数字 压缩的BCD每字节表示两个BCD数字,范围00-99近指针段内偏移的32位有效地址 位串一个连续的位序列 字符串 浮点数单精度 双精度,27,4.3.3 Power PC数据类型,无符号字节 逻辑和整数算术运算,由存储器取出装入通用寄存器时,寄存器左端以0填充 无符号半字16位 有符号半字16位算术运算,由存储器取出装入寄存器时,要进行符号位扩展,所有空出位都用符号位填充无符号字32位逻辑运算,或作为地址指针 有符号字32位算术运算 无符号双字64位地址指针 字节串0-128字节 浮点数IEEE754单精度 双精度,28,4.4 指令和数据的寻址方式,4.4.1 指令的寻址方式 4.4.2 操作数基本寻址方式 4.4.3 寻址方式举例,29,4.4.1 指令的寻址方式,顺序方式 PC 跳跃方式由本条指令给出下条指令的地址码,PC的内容也必须相应改变,跳跃寻址可以实现程序转移或者构成循环程序,CAI,30,4.4.2 操作数基本寻址方式,形成操作数有效地址的方法,称为寻址方式。 例如,一种单地址指令的结构如下 操作码OP、变址X、间址I、形式地址A,31,4.4.2 操作数基本寻址方式,CAI,32,4.4.2 操作数基本寻址方式,1、隐含寻址 指令中隐含着操作数的地址 如某些运算,隐含了累加器AC作为源和目的寄存器 ADD 100H,33,4.4.2 操作数基本寻址方式,2、立即寻址 立即寻址是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,就取出了可以立即使用的操作数,节省了访问内存的时间。因此,这样的操作数被称为立即数。 指令格式操作码OP 操作数A ADD ax,100H,34,4.4.2 操作数基本寻址方式,3、直接寻址指令中地址码字段给出的地址A就是操作数的有效地址EAEffective Address,即EAA。,35,4.4.2 操作数基本寻址方式,4、间接寻址间接寻址意味着指令的地址码部分给出的地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。操作数的有效地址的计算公式为EAA,访问内存两次,36,4.4.2 操作数基本寻址方式,5、寄存器寻址 在指令的地址码部分给出CPU内某一通用寄存器的编号,指令的操作数存放在相应的寄存器中,即EARi,优点 1由于寄存器在CPU的内部,指令在执行时从寄存器中取操作数比访问主存要快得多; 2由于寄存器的数量较少,因此寄存器编号所占位数也较少,从而可以有效减少指令的地址码字段的长度。,37,4.4.2 操作数基本寻址方式,6、寄存器间接寻址 为了克服间接寻址中多次访存的缺点,可采用寄存器间接寻址,即将操作数放在主存储器中,而操作数的地址放在某一通用寄存器中,然后在指令的地址码部分给出该通用寄存器的编号,这时有EARi,这种寻址方式的指令较短,并且在取指后只需一次访存便可得到操作数,因此指令执行速度较前述的间接寻址方式要快,也是目前在计算机中使用较为广泛的一种寻址方式。,38,4.4.2 操作数基本寻址方式,7、偏移寻址 相对寻址由程序计数器PC提供基准地址,而指令的地址码部分给出相对的位移量D,两者相加后作为操作数的有效地址,即EAPCD。,39,4.4.2 操作数基本寻址方式,7、偏移寻址基址寻址将主存空间分成若干段,每段首地址存放在基址寄存器中。基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。基址寻址主要用于为程序或数据分配存储空间,基址寄存器的内容通常由操作系统确定,在程序执行过程中其值是不变的,指令中的形式地址是可变的,40,4.4.2 操作数基本寻址方式,7、偏移寻址变址寻址变址寻址就是将指令的地址码部分给出的基准地址A与CPU内某特定的变址寄存器Rx中的内容相加,以形成操作数的有效地址。EAAR。变址寄存器的内容由用户设定,程序执行中是可变的。 变址的用途是为重复操作的完成提供一种高效机制。例如主存位置A处存放一数值列表,要给每个元素加1。我们需要取每个数位,对它加1,然后再存回。需要的有效地址序列是A,A1,A2,.直到最后一个位置。此时值A存入指令地址字段,再用一个变址寄存器。每次操作完成后,变址寄存器的内容1. R1-R,4.4.2 操作数基本寻址方式,求N个数的平均值 直接寻址 LDA D ADD D1 ADD D2 ADD DN-1 DIV N STA ANS,D ACC ACCD1 ACC ACCD2 ACC ACCDN-1 ACC ACC N ACC ACC ANS主存单元,4.4.2 操作数基本寻址方式,求N个数的平均值 变址寻址LDA 0LDX 0 M ADD X,DINXCPX NBNE MDIV NSTA ANS,0 ACC 0 X变址寄存器 ACCDX ACC X1 X 判断X-N,结果为0,Z1,结果非0,Z0. Z是零标志位 当Z1顺序执行,Z0跳转到M ACC N ACC ACC ANS主存单元,43,4.4.2 操作数基本寻址方式,8、段寻址方式 存储空间划分为多段 给定20位的地址空间,在寻址一个内存单元时,由一个基地址再加上某些寄存器提供的16位偏移量形成20位的物理地址。基地址就是段寄存器。,44,4.4.2 操作数基本寻址方式,9.堆栈寻址 以先进后出原理存储数据. 栈顶指针SP 进栈PUSH DATADATA-SP SP-1-SP 出栈POP DATASP1-SP,堆栈寻址举例,PUSH A 前,PUSH A 后,POP A 前,POP A 后,7.3,4.4.2 操作数基本寻址方式,例1 某微机的指令格式如下所示15 10 9 8 7 0操作码 X D D 位移量 X寻址特征位 X00直接寻址; X01用变址寄存器X1进行变址; X10用变址寄存器X2进行变址; X11相对寻址 设(PC)1234 H, X10037H, X21122HH代表十六进制数,请确定下列指令中操作数的有效地 4420H 2244H 1322H 3521H 6723H4.4.2 操作数基本寻址方式,解 1)X00 , D20H,有效地址E20H2 X10 , D44H 有效地址E1122H44H1166H 3 X11 , D22H 有效地址E1234H22H1256H 4 X01 , D21H 有效地址E0037H21H0058H 5)X11 , D23H 有效地址 E1234H23H1257H,4.4.2 操作数基本寻址方式,例2 设相对寻址的转移指令占三个字节,第一个字节是操作码,第二,三字节是相对位移补码表示,数据在存储器中采用以低字节地址为字地址的存放方式。每当CPU从存储器中取出1个字节时,PC1-PC 1若PC当前值是240十进制,要求转移到290十进制,则转移指令的第二,三字节的机器代码是多少 2若PC当前值是240十进制,要求转移到200十进制,则转移指令的第二,三字节的机器代码是多少 解1PC当前值是240,取出指令后后PC的值是243,要求转移到290,相对位移是290-24347,转换成补码是2FH,数据在存储器中采用以低字节地址为字地址的存放方式,第二字节是2FH,第三字节是00H. 2 1PC当前值是240,取出指令后后PC的值是243,要求转移到200,相对位移是200-243-43,转换成补码是D5H, 第二字节是D5H,第三字节是FFH.,4.4.2 操作数基本寻址方式,例3 一条双字长直接寻址的子程序调用指令,第一个字是操作码和寻址特征,第二个字是地址码5000H,假设PC当前值是2000H,SP的内容是0100H,栈顶内容是2746H,存储器按字节编址,CALL指令占四个字节,进栈先执行SP-2-SP,问下列几种情形下,PC,SP和栈顶内容各是多少 1CALL指令被读取前 2CALL指令被调用后 3子程序返回后 解1CALL指令被读取前,PC2000H,SP0100H,栈顶2746H 2CALL指令被调用后,程序断点2004H进栈,栈顶2004H,SP0100H-200FEH,PC子程序入口地址5000H 3子程序返回后,程序断点出栈,PC2004H,SP0100H,栈顶内容是2746H,指令格式设计,例4某机器字长是16位,存储器寻址空间是128字,变址时的位移量是-64-63,16个通用寄存器均可作为变址寄存器,设计一套指令系统,满足下列寻址类型的要求 1直接寻址的二地址指令3条 2变址寻址的一地址指令6条 3寄存器寻址的二地址指令8条 4直接寻址的一地址指令12条 5零地址指令32条,指令格式设计,1 OP A1 A2 00 01 102 7 7 11作为扩展 2 OP Rx寄存器 A 11000111015 4 7 11110和11111扩展 3 OP Ri Rj 11110000111101118 4 4 1111100011111111扩展 4 OP A 1111100001111110119 7 111111100111111111扩展 5 OP 1111111000000000 16位 1111111000011111,指令格式设计,例5 设某机配 有基址寄存器和变址寄存器,采用1地址格式的指令系统,允许直接和间接寻址,指令字长,机器字长,存储字长都是16位 1若采用单字长指令,共能完成105种操作,则指令可直接寻址的范围是多少一次间接寻址的范围是多少画出指令格式并说明各字段的含义 2若存储字长不变,可采用什么方法直接访问容量是16MB的主存,指令格式设计,解1完成105种操作,操作码取7位,因允许直接,间接寻址,且有基址寄存器和变址寄存器.寻址特征位M 2位 形式地址AD16-7-27位 OP(7) M(2) AD(7) 直接寻址128,一次间接寻址21665536 容量是16MB存储器正好与存储字长是16位的8M存储器容量相等,采用双字长指令,操作码和寻址特征位不变 OP7 M2 AD17AD216 形式地址23位 2238M,指令格式设计,例6某模型机共有64种操作,操作码位数固定,具有以下特点 1采用1地址或者2地址格式 2有寄存器寻址,直接寻址,相对寻址相对位移-128127三种寻址方式 3有16个通用寄存器,算术运算和逻辑运算的操作数都在寄存器中,结果也在寄存器中 4取数,存数指令在通用寄存器和存储器之间传送数据 5存储器容量是1MB,按字节编址。 要求设计算术逻辑指令,取数,存数指令和相对转移指令,指令格式设计,1算术逻辑指令为寄存器-寄存器型,单字长 OP 6 M2 Ri4 Rj4 2取数存数指令是寄存器-存储器型,双字长 OP6 M2 Ri4 A14A216 A1和A共20位,可直接访问按存储器编址的1MB存储器 3相对转移指令是一地址 单字长 OP6 M2 A8 A是位移量,56,4.4.2 操作数基本寻址方式,例4.4将ARM汇编语言翻译成机器语言。已知5条ARM指令格式译码如下表所示 设r3寄存器中保存数组A的基值,h放在寄存器r2中。C语言程序语句 A30hA30 可编译成如下3条汇编语句指令 LDR r5 , r3, 120 ;寄存器r5中获得A30 ADD r5 , r2 , r5 , ;寄存器r5中获得hA30 STR r5 , r3, 120 ;将hA30存入到A30 请问这3条汇编语言指令的机器语言是什么,57,4.4.2 操作数基本寻址方式,解首先利用十进制数来表示机器语言指令,然后转换成二进制机器指令。从表4.3中我们可以确定3条机器语言指令 LDR指令在第3字段(opcond)用操作码24确定。基值寄存器3指定在第4字段(Rn),目的寄存器5指定在第6字段(Rd),选择A30(120304)的offset字段放在最后一个字段(offset12)。 ADD指令在第4字段(opcode)用操作码4确定。3个寄存器操作(2、5和5)分别被指定在第6、7、8字段。 STR指令在第3字段用操作码25确定,其余部分与LDR指令相同。,58,4.4.3 寻址方式举例,Pentium的寻址方式,CAI,59,4.4.3 寻址方式举例,Pentium的寻址方式,60,4.4.3 寻址方式举例,例4 一种二地址RS型指令的结构如下 6位 4位 1位 2位 16位 OP 通用寄存器 I X 偏移量D 其中I为间接寻址标志位,X为寻址模式字段,D为偏移量字段。通过I,X,D的组合,可构成如下寻址方式请写出6种寻址方式的名称。,61,4.4.3 寻址方式举例,例5 将ARM汇编语言翻译成机器语言。已知5条ARM指令格式译码如下表所示设r3寄存器中保存数组A的基址,h放在寄存器r2中。C语言程序语句 A30hA30 可编译成如下3条汇编语言指令 LDR r5,r3,120 ;寄存器r5中获得A30 ADD r5,r2,r5 ;寄存器r5中获得hA30 STR r5,r3,120 ;将hA30存入到A30 请问这3条汇编语言指令的机器语言是什么,62,4.5 典型指令,4.5.1 指令的分类 4.5.2 基本指令系统的操作 4.5.3 精简指令系统,63,4.5.1 指令的分类,数据传送类指令 一般传送指令 MOV AX,BX 数据交换指令 XCHG 堆栈操作指令 PUSH,POP 运算类指令 算术运算指令 加、减、乘、除以及加1、减1、比较 逻辑运算指令 移位指令 程序控制类指令 程序控制类指令用于控制程序的执行方向,并使程序具有测试、分析与判断的能力。输入和输出指令、字符串处理指令、特权指令、其他指令,64,4.5.2 基本指令系统的操作,20和80规律CISC中大约有20的指令使用频率高,占据了80的处理机时间,而有80的不常用指令只占用处理机的20时间。 VLSI技术发展引起的问题 VLSI工艺要求规整性,而大量复杂指令控制逻辑极其不规整,给VLSI工艺造成了很大的困难。 现在用微程序实现复杂指令与用简单指令组成的子程序相比,没有多大的区别。因为现在控制存储器和主存的速度差缩小。 CISC中,通过增强指令系统的功能,简化了软件,增加了硬件的复杂程度。然而指令复杂了,指令的执行时间必然加长,从而使整个系统的执行时间反而增加,因而在计算机体系结构设计中,软硬件的功能分配必须恰当,65,4.5.3 精简指令系统,特点(采用流水线技术) 简单而统一格式的指令译码; 大部分指令可以单周期执行 只有LOAD/STORE可以访问存储器 简单的寻址方式 采用延迟转移技术 采用LOAD延迟技术 三地址指令格式 较多的寄存器 对称的指令格式,返回,66,4.6 ARM汇编语言,汇编语言是计算机机器语言(二进制指令代码)进行符号化的一种表示方法,每一个基本汇编语句对应一条机器指令。 表4.11列出了嵌入式处理机ARM的汇编语言。其中操作数使用16个寄存器(r0 , r1r12 , sp , Ir , pc),230个存储字(字节编址,连续的字的地址间相差4)。,返回,CAI,CAI,表4.11上,表4.11下,67,4.6 ARM汇编语言,在进行汇编语言程序设计时,可直接使用英文单词或其缩写表示指令,使用标识表示数据或地址,从而有效地避免了记忆二进制的指令代码。 不用由程序设计人员对指令和数据分配内存地址,直接调用操作系统的某些程序段完成输入输出。 用编辑程序建立好的汇编语言源程序,需要经过系统软件中的“汇编器”翻译为机器语言程序之后,才能交付给计算机硬件系统去执行。,返回,68,本 章 小 结,一台计算机中所有机器指令的集合,称为这台计算机的指令系统。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也影响到系统软件。指令格式是指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成。,返回,69,本 章 小 结,操作码字段表征指令的操作特性与功能,而地址码字段指示操作数的地址。目前多采用二地址、单地址、零地址混合方式的指令格式。指令字长度分为单字长、半字长、双字长三种形式。高档微机采用32位长度的单字长形式。,返回,70,本 章 小 结,形成指令地址的方式,称为指令寻址方式。有顺序寻址和跳跃寻址两种,由指令计数器来跟踪。形成操作数地址的方式,称为数据寻址方式。操作数可放在专用寄存器、通用寄存器、内存和指令中。数据寻址方式有隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、相对寻址、基值寻址、变址寻址、块寻址、段寻址等多种。按操作数的物理位置不同,有RR型和RS型。前者比后者执行的速度快。,返回,71,本 章 小 结,按结构不同,分为寄存器堆栈和存储器堆栈。不同机器有不同的指令系统。一个较完善的指令系统应当包含数据传送类指令、算术运算类指令、逻辑运算类指令、程序控制类指令、I/O类指令、字符串类指令、系统控制类指令。RISC指令系统是目前计算机发展的主流,也是CISC指令系统的改进,它的最大特点是指令条数少;指令长度固定,指令格式和寻址方式种类少;只有取数/存数指令访问存储器,其余指令的操作均在寄存器之间进行。,返回,72,本 章 小 结,汇编语言与具体机器的依赖性很强。为了解该语言 的特点,列出了目前流行的嵌入式处理机ARM的汇 编语言。,返回,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值