简要回答ARM3章.docx

上传人:人*** 文档编号:556045955 上传时间:2023-07-04 格式:DOCX 页数:4 大小:15.60KB
返回 下载 相关 举报
简要回答ARM3章.docx_第1页
第1页 / 共4页
简要回答ARM3章.docx_第2页
第2页 / 共4页
简要回答ARM3章.docx_第3页
第3页 / 共4页
简要回答ARM3章.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《简要回答ARM3章.docx》由会员分享,可在线阅读,更多相关《简要回答ARM3章.docx(4页珍藏版)》请在金锄头文库上搜索。

1、简要回答以下关于ARM指令集的问题。1.简述ARM指令集的主要能力。答:条件执行;寄存器访问;在线式桶形寄存器的访问。2.简述程序计数器pc、连接寄存器lr、堆栈指针sp、CPSR和SPSR的用法。答:LR:寄存器r14用作子程序连接寄存器。当一条分支并且连接指令(BL)被执行时,寄存器r14收到r15的一个拷贝。在其他时间,r14能被看作通用寄存器。PC:在ARM状态下,r15的bit1:0是无定义且必须被忽略的,而r15的bit31:2含有程序计数值。在Thumb状态下,r15的bit0是无定义且必须被忽略的,而r15的bit31:1含有程序计数值。CPSR和SPSR与ARM状态下的CPS

2、R和SPSR是相同的;SP映射到ARM状态下的r133.简述处理器如何从ARM 状态转换到Thumb状态。答:分支并且转换状态指令BX,在指令中指定了一个Rn寄存器,将Rn内容拷贝到PC,同时使PC0=0,如果Rn0=1,将处理器状态转换成Thumb状态,把目标地址处的代码解释为Thumb代码。4.ARM指令对无符号数、带符号数装入字节或半字到寄存器是如何操作的?答:LDRSB指令从存储器装入一字节数据到寄存器bit7:0,用符号位bit7扩展寄存器的bit31:8;LDRSH指令从存储器装入半字节到寄存器bit15:0,用符号位bit15扩展寄存器的bit31:16。5.简述ARM指令是如何

3、实现条件执行的。答:所有的ARM指令均可以在之零零操作码助记符后,跟随一个条件码助记符后缀,一句CPSR中的条件吗标志,有条件地被执行,而不需要使用分支指令实现条件分支。6.ARM数据处理指令在什么情况下设置CPSR中的条件码标志?答:算术裸机操作指令通常对指定的两个寄存器(或1个寄存器、1个立即数)进行操作,结果存到第3个寄存器,允许选择修改或不修改CPSR中的条件码标志。比较指令TEQ、TST、CMP和CMN,通常对指定的两个寄存器(或1个寄存器,1个立即数)进行比较,比较结果不保存到寄存器,只影响CPSR中的条件码标志。7.简述ARM数据处理指令如何用5位立即数指定移位量,如何用Rs指定

4、移位量,以及对Rm可以做哪些移位操作。简述如何对指定的8位立即数进行循环右移。答:直接使用bit11:7中的值作为移位量;使用指令中bit11:8指定Rs寄存器,且用Rs中最低字节指定移位量;逻辑左移,逻辑右移,算术右移,循环右移;进行移位操作时,要把指令中bit7:0指定的8位无符号立即数作为最低字节,高位bit 31:8用0扩展,形成一个32位数,对这个32位数进行循环右移。移位的次数,由指定中bit11:8指定的4位无符号数乘以2得到,分别为0,2,4,30。8.简述在ARM状态下,在特权方式或用户方式,同样的MSR指令执行结果有何区别。答:在用户方式下,CPSR的控制位被保护,不能改变

5、,只有条件码标志能被改变。在特权方式,允许改变整个CPSR。在用户方式,不能使用SPSR寄存器,因为这种方式不存在这样的寄存器。9.简述ARM单个数据传送指令中回写/不回写、先/后索引的含义。答:指令中可以指定回写位,当指令中W=1时,通过计算得到的存储器地址,回写到基址寄存器;W=0时,基址寄存器的值保持原值。基址寄存器先与偏移量加或减得到存储器地址,再传送数据,称为先索引方式,用指令中P=1指定;直接以基址寄存器内容作为存储器地址,访问存储器传送数据后,再执行基址寄存器加或减偏移量操作,称为后索引方式,用指令P=0指定。10.简述ARM LDM/STM指令堆栈操作中空、满、递增、递减的含义

6、。答:堆栈指针指向栈中最后一项;堆栈指针指向栈中下一个可用空间;STM指令使堆栈向存储器地址增大方向生长;STM指令使堆栈向存储器地址减少方向生长。11.简述ARM软件中断指令编码格式中bit23:0的通常含义。答:指令中的低24位bit23:0被称为中断立即数,被处理器忽略,但是可以用来给管理方式的代码传送信息。12.简述ARM协处理器指令如何指定协处理器和协处理器的寄存器、如何指定协处理器的操作。答:CDP中用p#指定协处理器,将执行域规定的对cn和cm的操作,结果存cd。LDC、STC中用CP#域用于标识协处理器号,只有与这个域的内容相匹配的协处理器,才提供数据或访问数据。CRd域和N位信息用于协处理器,不同的协处理器可能以不同的方法解释,但是习惯上把CRd作为被传送的寄存器,N位用于选择两种传送数据长度的一种。MRC、MCR指令中用p#用于指定于哪一个协处理器传送数据。习惯上,、 域用来指定要求协处理器执行的操作,cn是协处理器寄存器,作为传送信息的源或目的;cm是协处理器第二个寄存器,它可能包含一些具体处理操作,取决于指定的特殊操作。13.可以与协处理器寄存器交换数据的部件有哪些?答:存储器,CPSR,R15。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号