




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、指令运算1、利用若干指令,完成以下计算1)、求R4R3R2R1,和放在R6R5中ADDS R5,R3,R1ADCS R6,R4,R2 2)、求R4R31,差放在R6R5中SUBS R5,R3,#1SBC R6,R4,#03)、求R4R31,和放在R6R5中ADDS R5,R3,#1ADC R6,R4,#04)、求R4R3R2R1,差放在R6R5中SUBS R5,R3,R1SBC R6,R4,R22、写出以下ARM指令1)将R0+0x12地址处的数据读出,保存到R1中LDR R1,R0,#0x122)将R1中数据保存到R0+0x12地址处STR R1,R0,#0x12 3)将R00x12地址处的数据读出,保存到R1中LDR R1,R0,#0x12 4)将R1中的数据保存到R00x12地址处 R1,R0,#0x12 5)将R0+R2地址处的数据读出,保存到R1中LDR R1,R0,R26)将R1中数据保存到R0+R2地址处 STR R1,R0,R27)将R0R2地址处的数据读出,保存到R1中LDR R1,R0,R28)将R1中的数据保存到R0R2地址处 STR R1,R0,R2 3、写一条 ARM 指令,完成操作r1 = r2 * 3ADD R1,R2,R2,LSL #14、初始值R1=23H,R2=0FH执行指令BIC R0, R1,R2,LSL #1后,寄存器R0,R1的值分别是多少?R0=21H,R1=23H二、指令操作1ARM7TDMI(-S)有几种寻址方式?LDR R1,R0,#0x08属于哪种寻址方式?1. 寄存器寻址2. 立即寻址;3. 寄存器移位寻址;4. 寄存器间接寻址;5. 基址加偏址寻址;6. 多寄存器寻址;7. 堆栈寻址;8. 块复制寻址;9. 相对寻址;LDR R1,R0,#0x08属于基址加偏址寻址。2ARM指令的条件码有多少个?默认条件码是什么?16条, 默认条件码是AL。3ARM指令中第二个操作数有哪几种形式?举例5个8位图立即数。(1) 立即数;(2) 寄存器;(3) 寄存器及移位常数; 0x3FC(0xFF2)、0、0xF0000000(0xF024)、200(0xC8)、0xF0000001(0x1F28)4CMP指令的操作是什么?写一个程序,判断R1的值是否大于0x30,是则将R1减去0x30。CMP 指令将寄存器Rn 的值减去operand2 的值,根据操作的结果更新CPSR 中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。 CMP R1,#0x30 SUBHI R1,R1,#0x305调用子程序是用B还是用BL指令?请写出返回子程序的指令?BL 指令用于子程序调用。 MOV PC, LR6请指出LDR伪指令的用法。指令格式与LDR加载指令的区别是什么?LDR 伪指令用于加载 32 位的立即数或一个地址值到指定寄存器。第二个数为地址表达式。7将R0最后4位数据保留,并影响标志位 ANDS R0,R0,#0x0F8将R0的1,3,5位置1ORR R0,R0,#0x2A9将R0的1,3,5位置0BIC R0,R0,#0x2A三、解释应用1、说明指令STMIA r12!, r0-r11的操作功能。答:将R0至R11共12个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。 2、简单说明ARM7 TDMI的含义。 64 位乘法指令(带M 后缀的)、支持片上调试(带D 后缀的)、高密度 16 位的Thumb 指令机扩展(带T 后缀的)EmbededICE 观察点硬件(带I 后缀的)3、什么是小端和大端存储器组织?答:1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。2) 大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。4、分别列举ARM的处理器模式和状态状态: ARM 状态 32 位,这种状态下执行的是字方式的ARM 指令 Thumb 状态 16 位,这种状态下执行半字方式的 Thumb 指令 Thumb-2状态 可以以执行16位或32位混合的Thumb-2指令Thumb-2EE状态 V7以后新定义的可实时编译的指令集执行环境模式:用户模式、快中断模式、中断模式、管理模式、 中止模式、未定义模式和系统模式。5、简单叙述CPSR寄存器和SPSR寄存器的作用,以及CPSR各状态位的作用是什么。答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。2)在每种异常模式下都有一个对应的物理寄存器程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。6、请指出MOV指令与LDR加载指令的区别及用途。1)、MOV 将 8 位图(pattern)立即数或寄存器(operand2)传送到目标寄存器(Rd),可用于移位运算等操作。2)、LDR读取指定地址上的存储器单元内容,执行条件AL.7、采用多寄存器寻址方式,可以用一条指令完成传送最多16个通用寄存器的值。请解释以下指令的含义:LDMIA R0, R1, R2, R3, R4;该指令的后缀IA 表示在每次执行完加载/存储操作后,R0按字长度增加,因此,指令可将R0所指的连续存储单元的值传送到R1R4。指令执行过程如下: R1R0 R2R04R3R08 R4R012四、程序设计题1 把下面的 C 代码转换成汇编代码。数组 a 和b 分别存放在以 0x4000 和 0x5000 为起始 地址的存储区内,类型为long(即32 位)。把编写的汇编语言进行编译连接,并进行调试。 for (i=0; i8; i+) ai = b7-i; 2、用ARM编程实现如下功能:;for(i = 0;i 10;i+);x+;r0 = x,r2 = iARM程序如下:MOVR0,#0MOVR2,#0FOR_LPCMPR2,#10BHSFOR_ENDADDR0,R0,#1ADDR2,R2,#1BFOR_LPFOR_ENDNOP3、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。程序框架如下,补充代码完成上述功能。AREA total, CODE ,READONLYENTRYstartMOV r4, #0ADR r0, myarray;在此补充代码loopLDR r1, r0, #4ADDr4, r4, r1CMPr1, #0BNEloopstopB stopmyarrayDCD 0x11DCD0x22DCD 0x0END4、编写程序将R0和R1的内容相加的结果放入R2,将R0和R1的内容相减的结果放入R3,将R0*2和R1的内容相加的结果放入R4。AREA Examplel,CODE,READONLY ;声明代码段Examplel ENTRY ;标识程序入口 CODE32 ;声明32位ARM指令START MOV R0,#0 ;设置参数 MOV R1,#10LOOP BL ADD_SUB ;调用子程序ADD_SUB B LOOP ;跳转到LOOPADD_SUBADDS R2,R0,R1SUBS R3,R0,R1MOV R0,R0,LSL #1ADDS R4 ,R0,R1 MOV PC,LR ;子程序返回 END ;文件结束5、用STMFD/LDMFD, MUL指令编写一个整数乘方的子程序,然后使用BL指令调用子程序计算Xn的值。原理:Xn X*X* *X,其中相乘的X个数为n个,先将X的值装入R0和R1中,使用R2作计数器,循环次数n-1次 R0 R0*R1,运算结果保存在R0中:编程如下:;MAIN ROUTINEXEQU9nEQU8AREAMyPro,CODE,READONLYENTRYCODE32STARTLDRSP,= 0x40003F00LDRR0,= XLDRR1,= nBLPOWHALTBHALT;POW SUBROUTINE;INPUT R0,R1;OUTPUTR0POWSTMFDSP!,R1-R12,LRMOVS R2,R1MOVEQ R0,#1BEQ POW_ENDMOVR1,R0SUBR2,R2,#1POW_CONTIBLDO_MULSUBSR2,R2,#1BNEPOW_CONTIPOW_ENDLDMFDSP!,R1-R12,LR;DO_MUL SUBROUTINE;INPUTR0,R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第二单元第十六课《越算越精彩》说课稿 2024-2025学年粤教版(2019)初中信息技术八年级上册
- 2025公务用车购销合同虹口区
- 2025合同违约责任条款明确
- 2025网约车租赁合同书
- 第二单元《6.形色相随》说课稿-2024-2025学年浙人美版(2024)初中美术七年级下册
- 全国人教版初中信息技术八年级下册第一单元第3课《作点》说课稿
- 2025新住宅租赁合同(示范合同)
- 2025合同样例茶叶店合作经营合同律师起草专业版
- 1.3中华文明的起源说课稿2024~2025学年统编版七年级历史上册
- 五年级英语下册 Unit 2 My favourite season Part B第三课时说课稿2 人教PEP
- 住房供给调控预案
- 培训行业转介绍
- 文科物理(兰州大学)学习通网课章节测试答案
- 人教版高二数学(上)选择性必修第一册1.2空间向量基本定理【教学设计】
- catia考试图纸题目及答案
- pos机风险管理办法
- 2025年行业机器人边缘计算技术应用与场景分析
- 2025年安徽省公务员录用考试《行测》真题及答案
- 2025年加油站行业需求分析及创新策略研究报告
- 2025中国工业传感器行业市场白皮书
- 手机桌面市场深度解析
评论
0/150
提交评论