版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第四章第四章 指令系统指令系统4.1 指令系统的发展与性能要求4.2 指令格式4.3 操作数类型4.4 指令和数据的寻址方式4.5 典型指令4.6 ARM汇编语言返回24.1 指令系统的发展与性能要求指令系统的发展与性能要求4.1.1 指令系统的发展4.1.2 对指令系统性能的要求4.1.3 低级语言与硬件结构的关系34.1.1 指令系统的发展指令系统的发展指令系统基本概念l指令:就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。微指令是微程序级的命令,它属于硬件;l宏指令:由若干条机器指令组成的软件指令,它属于软件;l机器指令:介于微指
2、令与宏指令之间,通常简称为指令,每一条指令可完成一个独立的算术运算或逻辑运算操作。l本章所讨论的指令,是机器指令。本章所讨论的指令,是机器指令。l一台计算机中所有机器指令的集合,称为这台计算机的指令系统。l指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围44.1.1 指令系统的发展指令系统的发展发展情况l复杂指令系统计算机,简称CISC。指令系统多达二三百条。 CISC中大约有20%的指令使用频率高,占据了80%的处理机时间,而有80%的不常用指令只占用处理机的20%时间。lVLSI技术发展引起的问题lVLSI工
3、艺要求规整性,而大量复杂指令控制逻辑极其不规整,给VLSI工艺造成了很大的困难。l现在用微程序实现复杂指令与用简单指令组成的子程序相比,没有多大的区别。因为现在控制存储器和主存的速度差缩小。lCISC中,通过增强指令系统的功能,简化了软件,增加了硬件的复杂程度。然而指令复杂了,指令的执行时间必然加长,从而使整个系统的执行时间反而增加,因而在计算机体系结构设计中,软硬件的功能分配必须恰当,但是如此庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而造成硬件资源浪费。l精简指令系统计算机:简称RISC,人们又提出了便于VLSI技术实现的
4、精简指令系统计算机。(1)选取使用频率高的简单指令,指令条数少。(2)指令条数固定,指令格式种类少,寻址方式种类少。(3)只有取数、存数指令访问存储器,其他指令的操作都在寄存器之间进行。54.1.2 对指令系统性能的要求对指令系统性能的要求l完备性:完备性:完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。一台计算机中最基本、必不可少的指令是不多的。许多指令可用最基本的指令编程来实现。例如,乘除运算指令、浮点运算指令可直接用硬件来实现,也可用基本指令编写的程序来实现。采用硬件指令的目的是提高程序执行速度,便于用户
5、编写程序。l有效性:有效性:有效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更好的有效性。l规整性:规整性:规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。对称性是指:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性是指:一种操作性质的指令可以支持各种数据类型,如算术运算指令可支持字节、字、双字整数的运算,十进制数运算和单、双精度浮点数运算等;指令格式和数据格式的一致性是指:指令长度和数据长度有一定的关系,以方便处理和存取。例如指令长度和
6、数据长度通常是字节长度的整数倍。l兼容性:兼容性:系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。64.1.3 低级语言与硬件结构的关系低级语言与硬件结构的关系低级语言与高级语言关系比较内容高级语言低级语言1对程序员的训练要求(1)通用算法(2)语言规则(3)硬件知识有较少不要有较多要2对机器独立的程度独立不独立3编制程序的难易程度易难4编制程序所需时间短较长5程序执行时间较长短6编译过程中对
7、计算机资源的要求多少74.2 指令格式指令格式4.2.1 操作码4.2.2 地址码4.2.3 指令字长度4.2.4 指令助记符4.2.5 指令格式举例l指令格式包括两个方面:操作码字段操作码字段地址码字段地址码字段84.2.1 操作码操作码l设计计算机时,对指令系统的每一条指令都要规定一个操作码。指令的操作码OP表示该指令应进行什么性质的操作,如进行加法、减法、乘法、除法、取数、存数等等。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。l组成操作码字段的位数一般取决于计算机指令系统的规模。较大的指令系统就需要更多的位数来表示每条特定的指令。l等长(指令规整,译码简单)l例如IB
8、M 370机,该机字长32位,16个通用寄存器R0R15,共有183条指令;指令的长度可以分为16位、32位和48位等几种,所有指令的操作码都是8位固定长度。l固定长度编码的主要缺点是:信息的冗余极大,使程序的总长度增加。94.2.2 地址码地址码l根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。三地址指令二地址指令单地址指令零地址指令104.2.2 地址码地址码l三地址指令l指令格式如下:lOP A1 A2 A3l操作码op 第一操作数A1 第二操作数A2 结果A3 l功能描述:l(A1) op(A2)A3l(PC) +1PCl这种格式虽然省去了一个地址,但指令长度仍
9、比较长,所以只在字长较长的大、中型机中使用,而小型、微型机中很少使用。114.2.2 地址码地址码l二地址指令l其格式如下:lOP A1 A2l操作码op 第一操作数A1 第二操作数A2l 功能描述:l(A1) op(A2)A1l(PC)+1PCl二地址指令在计算机中得到了广泛的应用,但是在使用时有一点必须注意:指令执行之后,A1中原存的内容已经被新的运算结果替换了。124.2.2 地址码地址码l二地址地址根据操作数的物理位置分为:lSS 存储器-存储器类型lRS 寄存器-存储器类型lRR 寄存器-寄存器类型慢134.2.2 地址码地址码l一地址指令l指令格式为:lOP A1 l 操作码op
10、第一操作数A1l功能描述:l(AC) op(A1) A1l(PC)+1PCl单操作数运算指令,如“+1”、“-1”、“求反”l指令中给出一个源操作数的地址144.2.2 地址码地址码l零地址指令 l其格式为:lOPl 操作码opl“停机”、“空操作”、“清除”等控制类指令。154.2.3 指令字长度指令字长度l概念l指令字长度(一个指令字包含二进制代码的位数)l机器字长:计算机能直接处理的二进制数据的位数。l单字长指令l半字长指令l双字长指令l多字长指令多字长指令的优缺点l优点提供足够的地址位来解决访问内存任何单元的寻址问题 ;l缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速
11、度,又占用了更多的存储空间。l指令系统中指令采用等长指令等长指令的优点:各种指令字长度是相等的,指令字结构简单,且指令字长度是不变的 ;l采用非等长指令非等长指令的的优点:各种指令字长度随指令功能而异,结构灵活,能充分利用指令长度,但指令的控制较复杂 。164.2.4 指令助记符指令助记符l由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是我们用二进制来书写程序却非常麻烦。l为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符用34个英文字母来表示操作码,一般为英文缩写不同的计算机系统,规定不一样必须用汇编语言翻译成二进制代码4.2.4 指令助记
12、符指令助记符l典型指令助记符l加法 ADD 001l减法 SUB 010l传送 MOV 011l跳转 JMP 100l转子程序 JSR 101l存数 STO 110l取数 LAD 111184.2.5 指令格式举例指令格式举例l8位微型计算机的指令格式l如8088,字长8位,指令结构可变l包括单字长指令、双字长指令和三字长指令l操作码长度固定194.2.5 指令格式举例指令格式举例lMIPS R4000 20世纪80年代后期 RISC计算机系统,32位字长,32个通用寄存器。R型(寄存器)指令:算术运算数据放在通用寄存器中6位 5位 5位 5位 5位 6位 op rs rt rd shamt
13、functI型(立即数)指令:取数、存数指令访问存储器6位 5位 5位 16位 op rs rt 常数或地址204.2.5 指令格式举例:指令格式举例:ARM指令格式指令格式214.2.5 指令格式举例指令格式举例例1分析下列指令格式的特点 15 9 7 4 3 0 OP - 源寄存器 目标寄存器 解:1.单字长二地址指令 2.操作码字段可以指定128条指令 3.源寄存器和目标寄存器都是通用寄存器,两个操作都 在寄存器中,RR型指令 4. 常用于算术逻辑运算 224.2.5 指令格式举例指令格式举例例2分析下列指令格式的特点 15 10 7 4 3 0 OP - 源寄存器 变址寄存器 位移量(
14、16位) 解:1.双字长二地址指令,访问存储器 2.操作码字段可以指定64条指令 3.一个操作数在源寄存器中,另一个在存储器中(由变址寄存器和位移量决定),RS型指令234.2.5 指令格式举例指令格式举例例3 MIPS R4000汇编语言中,寄存器$s0$s7对应寄存器号为十进制1623,寄存器$t0$t7对应的寄存器号为815。请将下表4条汇编语言翻译成对应的机器语言十进制数表示。244.3 操作数类型操作数类型4.3.1 一般的数据类型4.3.2 Pentium数据类型4.3.3 Power PC数据类型254.3.1 一般的数据类型一般的数据类型l地址数据地址数据:无符号整数。l数值数
15、据数值数据:计算机中普遍使用的三种类型的数值数据l1.定点整数,小数 2.浮点数 3.压缩十进制数。l字符数据字符数据:文本数据或字符串,目前广泛使用ASCII码。l逻辑数据逻辑数据:一个单元中有几位二进制bit项组成,每个bit的值可以是1或0。当数据以这种方式看待时,称为逻辑性数据。264.3.2 Pentium数据类型数据类型 常规:字节,字(16位),双字(32位),四字(64位)整数:字节,字,双字,四字 有符号二进制数 序数:字节,字,双字,四字 无符号整数未压缩的BCD:范围0-9的BCD数字表示,每字节一个数字压缩的BCD:每字节表示两个BCD数字,范围00-99 近指针:段内
16、偏移的32位有效地址位串:一个连续的位序列字符串:浮点数:单精度 双精度274.3.3 Power PC数据类型数据类型 无符号字节: 逻辑和整数算术运算,由存储器取出装入通用寄存器时,寄存器左端以0填充无符号半字:16位有符号半字:16位算术运算,由存储器取出装入寄存器时,要进行符号位扩展,所有空出位都用符号位填充无符号字:32位逻辑运算,或作为地址指针有符号字:32位算术运算无符号双字:64位地址指针字节串:0-128字节浮点数:IEEE754单精度 双精度284.4 指令和数据的寻址方式指令和数据的寻址方式4.4.1 指令的寻址方式4.4.2 操作数基本寻址方式4.4.3 寻址方式举例2
17、94.4.1 指令的寻址方式指令的寻址方式l顺序方式lPCl跳跃方式:由本条指令给出下条指令的地址码,PC的内容也必须相应改变,跳跃寻址可以实现程序转移或者构成循环程序CAI304.4.2 操作数基本寻址方式操作数基本寻址方式l形成操作数有效地址的方法,称为寻址方式。l例如,一种单地址指令的结构如下:操作码OP、变址X、间址I、形式地址A314.4.2 操作数基本寻址方式操作数基本寻址方式CAI324.4.2 操作数基本寻址方式操作数基本寻址方式1、隐含寻址l指令中隐含着操作数的地址l如某些运算,隐含了累加器AC作为源和目的寄存器lADD 100H 334.4.2 操作数基本寻址方式操作数基本
18、寻址方式2、立即寻址l立即寻址是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,就取出了可以立即使用的操作数,节省了访问内存的时间。因此,这样的操作数被称为立即数。l指令格式:操作码OP 操作数A lADD ax,100H344.4.2 操作数基本寻址方式操作数基本寻址方式3、直接寻址l 指令中地址码字段给出的地址A就是操作数的有效地址EA(Effective Address),即EAA。354.4.2 操作数基本寻址方式操作数基本寻址方式4、间接寻址l 间接寻址意味着指令的地址码部分给出的地址A不是操作数的
19、地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。操作数的有效地址的计算公式为:EA(A),访问内存两次364.4.2 操作数基本寻址方式操作数基本寻址方式5、寄存器寻址l在指令的地址码部分给出CPU内某一通用寄存器的编号,指令的操作数存放在相应的寄存器中,即EA=Ri 优点:(1)由于寄存器在CPU的内部,指令在执行时从寄存器中取操作数比访问主存要快得多;(2)由于寄存器的数量较少,因此寄存器编号所占位数也较少,从而可以有效减少指令的地址码字段的长度。374.4.2 操作数基本寻址方式操作数基本寻址方式6、寄存器间接寻址 l为了克服间接寻址中多次访存的缺点,可采用寄存器间接寻址
20、,即将操作数放在主存储器中,而操作数的地址放在某一通用寄存器中,然后在指令的地址码部分给出该通用寄存器的编号,这时有EA=(Ri)这种寻址方式的指令较短,并且在取指后只需一次访存便可得到操作数,因此指令执行速度较前述的间接寻址方式要快,也是目前在计算机中使用较为广泛的一种寻址方式。384.4.2 操作数基本寻址方式操作数基本寻址方式7、偏移寻址、偏移寻址l相对寻址:由程序计数器相对寻址:由程序计数器PC提供基准地址,而指提供基准地址,而指令的地址码部分给出相对的位移量令的地址码部分给出相对的位移量D,两者相加后,两者相加后作为操作数的有效地址,即:作为操作数的有效地址,即:EA(PC)D。39
21、4.4.2 操作数基本寻址方式操作数基本寻址方式l7、偏移寻址:基址寻址、偏移寻址:基址寻址l将主存空间分成若干段,每段首地址存放在基址寄存器中。基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。基址寻址主要用于为程序或数据分配存储空间,基址寄存器的内容通常由操作系统确定,在程序执行过程中其值是不变的,指令中的形式地址是可变的404.4.2 操作数基本寻址方式操作数基本寻址方式l7、偏移寻址:变址寻址、偏移寻址:变址寻址l变址寻址就是将指令的地址码部分给出的基准地址A与CPU内某特定的变址寄存器Rx中的内容相加,以形成操作数的有效地址。EA=A+(R)。变址寄存器的内容由用户设定
22、,程序执行中是可变的。l变址的用途是为重复操作的完成提供一种高效机制。例如主存位置A处存放一数值列表,要给每个元素加1。我们需要取每个数位,对它加1,然后再存回。需要的有效地址序列是A,A+1,A+2,.直到最后一个位置。此时值A存入指令地址字段,再用一个变址寄存器。每次操作完成后,变址寄存器的内容+1. (R)+1-R4.4.2 操作数基本寻址方式操作数基本寻址方式l求N个数的平均值l直接寻址 lLDA D lADD D+1 lADD D+2 l lADD D+(N-1) lDIV #N lSTA ANS lD ACC lACC+D+1 ACC lACC+D+2 ACC l lACC+D+N
23、-1 ACC lACC N ACC lACC ANS(主存单元) 4.4.2 操作数基本寻址方式操作数基本寻址方式l求N个数的平均值l变址寻址l LDA #0l LDX #0lM ADD X,Dl INXl CPX #Nl BNE Ml DIV #Nl STA ANSl0 ACCl0 X(变址寄存器)lACC+D+(X) ACClX+1 Xl判断X-N,结果为0,Z=1,结果非0,Z=0. Z是零标志位l当Z=1顺序执行,Z=0跳转到MlACC N ACC lACC ANS(主存单元)434.4.2 操作数基本寻址方式操作数基本寻址方式8、段寻址方式、段寻址方式存储空间划分为多段存储空间划分为
24、多段给定给定20位的地址空间,在位的地址空间,在寻址一个内存单元时,由寻址一个内存单元时,由一个基地址再加上某些寄一个基地址再加上某些寄存器提供的存器提供的16位偏移量形位偏移量形成成20位的物理地址。基地位的物理地址。基地址就是段寄存器。址就是段寄存器。444.4.2 操作数基本寻址方式操作数基本寻址方式9.堆栈寻址以先进后出原理存储数据. 栈顶指针SP进栈:PUSH DATA DATA-SP (SP)-1-SP出栈:POP DATA (SP)+1-SP 堆栈寻址举例堆栈寻址举例15200HACCSPX栈顶栈顶200H栈底栈底主存主存151FFHACCSP15栈顶栈顶200H栈底栈底主存主存
25、X1FFHPUSH A 前前PUSH A 后后POP A 前前POP A 后后Y1FFHACCSPX栈顶栈顶200H栈底栈底主存主存151FFH15200HACCSP栈顶栈顶200H栈底栈底主存主存X154.4.2 操作数基本寻址方式操作数基本寻址方式l例1 某微机的指令格式如下所示:l 15 10 9 8 7 0l 操作码 X DlD: 位移量 X:寻址特征位 X=00:直接寻址; X=01:用变址寄存器X1进行变址;lX=10:用变址寄存器X2进行变址; lX=11:相对寻址l设(PC)=1234 H,( X1)=0037H,( X2)=1122H(H代表十六进制数),请确定下列指令中操作
26、数的有效地l4420H 2244H 1322H 3521H 6723H 4.4.2 操作数基本寻址方式操作数基本寻址方式l解: 1)X=00 , D=20H,有效地址E=20Hl 2) X=10 , D=44H l有效地址E=1122H+44H=1166H l 3) X=11 , D=22H l有效地址E=1234H+22H=1256H l 4) X=01 , D=21H l有效地址E=0037H+21H=0058H l 5)X=11 , D=23H l有效地址 E=1234H+23H=1257H 4.4.2 操作数基本寻址方式操作数基本寻址方式l例2 设相对寻址的转移指令占三个字节,第一个字
27、节是操作码,第二,三字节是相对位移(补码表示),数据在存储器中采用以低字节地址为字地址的存放方式。每当CPU从存储器中取出1个字节时,(PC)+1-PCl(1)若PC当前值是240(十进制),要求转移到290(十进制),则转移指令的第二,三字节的机器代码是多少l(2)若PC当前值是240(十进制),要求转移到200(十进制),则转移指令的第二,三字节的机器代码是多少l解:(1)PC当前值是240,取出指令后后PC的值是243,要求转移到290,相对位移是290-243=47,转换成补码是2FH,数据在存储器中采用以低字节地址为字地址的存放方式,第二字节是2FH,第三字节是00H.l(2) (1
28、)PC当前值是240,取出指令后后PC的值是243,要求转移到200,相对位移是200-243=-43,转换成补码是D5H, 第二字节是D5H,第三字节是FFH.4.4.2 操作数基本寻址方式操作数基本寻址方式l例3 一条双字长直接寻址的子程序调用指令,第一个字是操作码和寻址特征,第二个字是地址码5000H,假设PC当前值是2000H,SP的内容是0100H,栈顶内容是2746H,存储器按字节编址,CALL指令占四个字节,进栈先执行(SP)-2-SP,问下列几种情形下,PC,SP和栈顶内容各是多少l(1)CALL指令被读取前l(2)CALL指令被调用后l(3)子程序返回后l解:(1)CALL指
29、令被读取前,(PC)=2000H,(SP)=0100H,栈顶2746Hl(2)CALL指令被调用后,程序断点2004H进栈,栈顶2004H,(SP)=0100H-2=00FEH,(PC)=子程序入口地址5000Hl(3)子程序返回后,程序断点出栈,(PC)=2004H,(SP)=0100H,栈顶内容是2746H指令格式设计指令格式设计l例4某机器字长是16位,存储器寻址空间是128字,变址时的位移量是-64-+63,16个通用寄存器均可作为变址寄存器,设计一套指令系统,满足下列寻址类型的要求l(1)直接寻址的二地址指令3条l(2)变址寻址的一地址指令6条l(3)寄存器寻址的二地址指令8条l(4
30、)直接寻址的一地址指令12条l(5)零地址指令32条指令格式设计指令格式设计l(1) OP A1 A2 00 01 10l 2 7 7 11作为扩展l(2) OP Rx(寄存器) A 1100011101l 5 4 7 11110和11111扩展l(3) OP Ri Rj 1111000011110111l 8 4 4 1111100011111111扩展l(4) OP A 111110000111111011l 9 7 111111100111111111扩展l(5) OP 1111111000000000 16位 1111111000011111指令格式设计指令格式设计l例5 设某机配 有
31、基址寄存器和变址寄存器,采用1地址格式的指令系统,允许直接和间接寻址,指令字长,机器字长,存储字长都是16位l(1)若采用单字长指令,共能完成105种操作,则指令可直接寻址的范围是多少?一次间接寻址的范围是多少?画出指令格式并说明各字段的含义l(2)若存储字长不变,可采用什么方法直接访问容量是16MB的主存?指令格式设计指令格式设计l解:(1)完成105种操作,操作码取7位,因允许直接,间接寻址,且有基址寄存器和变址寄存器.寻址特征位M 2位 形式地址AD16-7-2=7位lOP(7) M(2) AD(7)l直接寻址128,一次间接寻址216=65536 l容量是16MB存储器正好与存储字长是
32、16位的8M存储器容量相等,采用双字长指令,操作码和寻址特征位不变lOP(7) M(2) AD1(7)l AD2(16) l形式地址23位 223=8M指令格式设计指令格式设计l例6某模型机共有64种操作,操作码位数固定,具有以下特点:l(1)采用1地址或者2地址格式l(2)有寄存器寻址,直接寻址,相对寻址(相对位移-128+127)三种寻址方式l(3)有16个通用寄存器,算术运算和逻辑运算的操作数都在寄存器中,结果也在寄存器中l(4)取数,存数指令在通用寄存器和存储器之间传送数据l(5)存储器容量是1MB,按字节编址。l要求设计算术逻辑指令,取数,存数指令和相对转移指令指令格式设计指令格式设
33、计l(1)算术逻辑指令为寄存器-寄存器型,单字长lOP (6) M(2) Ri(4) Rj(4)l(2)取数存数指令是寄存器-存储器型,双字长lOP(6) M(2) Ri(4) A1(4)l A2(16)lA1和A共20位,可直接访问按存储器编址的1MB存储器l(3)相对转移指令是一地址 单字长lOP(6) M(2) A(8) lA是位移量564.4.2 操作数基本寻址方式操作数基本寻址方式例例4.4:将:将ARM汇编语言翻译成机器语言。已知汇编语言翻译成机器语言。已知5条条ARM指令格指令格式译码如下表所示:式译码如下表所示:设设r3寄存器中保存数组寄存器中保存数组A的基值,的基值,h放在寄
34、存器放在寄存器r2中。中。C语言程序语言程序语句语句 A30=h+A30 可编译成如下可编译成如下3条汇编语句指令:条汇编语句指令:LDR r5 , r3, #120;寄存器寄存器r5中获得中获得A30ADD r5 , r2 , r5 ,;寄存器寄存器r5中获得中获得h+A30STR r5 , r3, #120;将将h+A30存入到存入到A30请问这请问这3条汇编语言指令的机器语言是什么?条汇编语言指令的机器语言是什么?574.4.2 操作数基本寻址方式操作数基本寻址方式解:首先利用十进制数来表示机器语言指令,然后转换成二进制机器指令。解:首先利用十进制数来表示机器语言指令,然后转换成二进制机
35、器指令。从表从表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指令
36、在第指令在第3字段用操作码字段用操作码25确定,其余部分与确定,其余部分与LDR指令相同。指令相同。584.4.3 寻址方式举例寻址方式举例Pentium的寻址方式的寻址方式CAI594.4.3 寻址方式举例寻址方式举例方式算法立即作数=A寄存器LA=R偏移量LA=(SR)+A基址LA=(SR)+(B)基址带偏移量LA=(SR)+(B)+A比例变址带偏移量LA=(SR)+(I)S+A基址带变址和偏移量LA=(SR)+(B)+(I)+A基址带比例变址和偏移量 LA=(SR)+(B)+(I)S+A相对LA=(PC)+APentium的寻址方式的寻址方式604.4.3 寻址方式举例寻址方式举例例4
37、一种二地址RS型指令的结构如下:6位 4位 1位 2位 16位 OP 通用寄存器 I X 偏移量D其中I为间接寻址标志位,X为寻址模式字段,D为偏移量字段。通过I,X,D的组合,可构成如下寻址方式:请写出6种寻址方式的名称。614.4.3 寻址方式举例寻址方式举例例5 将ARM汇编语言翻译成机器语言。已知5条ARM指令格式译码如下表所示:设r3寄存器中保存数组A的基址,h放在寄存器r2中。C语言程序语句A30=h+A30 可编译成如下3条汇编语言指令:LDR r5,r3,#120;寄存器r5中获得A30ADD r5,r2,r5;寄存器r5中获得h+A30STR r5,r3,#120;将h+A3
38、0存入到A30请问这3条汇编语言指令的机器语言是什么?624.5 典型指令典型指令 4.5.1 指令的分类指令的分类4.5.2 基本指令系统的操作基本指令系统的操作4.5.3 精简指令系统精简指令系统634.5.1 指令的分类指令的分类l数据传送类指令l一般传送指令: MOV AX,BXl数据交换指令: XCHGl堆栈操作指令: PUSH,POPl运算类指令l算术运算指令: 加、减、乘、除以及加1、减1、比较l逻辑运算指令: l移位指令 l程序控制类指令 l程序控制类指令用于控制程序的执行方向,并使程序具有测试、分析与判断的能力。l 输入和输出指令、字符串处理指令、特权指令、其他指令644.5.2 基本指令系统的操作基本指令系统的操作l20%和80%规律:CISC中大约有20%的指令使用频率高,占据了80%的处理机时间,而有80%的不常用指令只占用处理机的20%时间。lVLSI技术发展引起的问题lVLSI工艺要求规整性,而大量复杂指令控制逻辑极其不规整,给VLSI工艺造成了很大的困难。l现在用微程序实现复杂指令与用简单指令组成的子程序相比,没有多大的区别。因为现在控制存储器和主存的速度差缩小。lCISC中,通过增强指令系统的功能,简化了软件,增加了硬件的复杂程度。然而指令复
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农林、畜牧用金属工具合作协议书
- 2025年组织毒活苗项目合作计划书
- 2025年生物可降解塑料合作协议书
- 2026北京丰台初三上学期期末英语试卷和答案
- 2026年智能香氛安全监测系统项目营销方案
- 2026年智能浴巾架 (加热)项目评估报告
- 2025年江苏省宿迁市中考生物真题卷含答案解析
- 降水井及降水施工方案
- 2025年机动车检测站试卷及答案
- 【2025年咨询工程师决策评价真题及答案】
- 2021-2026年中国沉香木行业发展监测及投资战略规划研究报告
- 数学-华中师大一附中2024-2025高一上学期期末试卷和解析
- 2024-2030年中国海南省废水污染物处理资金申请报告
- 新能源汽车技术 SL03维修手册(第4章)-电气-4.2.2~4.2.12电器集成
- 教科版科学教材培训
- 甲状腺的中医护理
- 商住楼项目总体规划方案
- 2022储能系统在电网中典型应用
- 互联网+物流平台项目创办商业计划书(完整版)
- IABP主动脉球囊反搏课件
- 基于python-的车牌识别
评论
0/150
提交评论