第四章复习(修改)
1. ARM处理器的工作状态?如何进入工作状态?
答:有两种,ARM(32位字对齐)和Thumb(16位半字对齐)。 当ARM微处理器执行32位的ARM指令集时,工作在ARM状态;当ARM微处理器执行16位的Thumb指令集时,工作在Thumb状态。 进入ARM:当操作数状态位(位0)为0,执行BX指令可以从Thumb到ARM切换;进入Thumb:当操作数状态位(位0)为1,执行BX指令可以从ARM到Thumb切换。 2. ARM处理器支持的7种运行模式?
答:7种模式:用户模式usr、快速中断模式fiq、外部中断模式irq、管理模式svc、系统模式sys、数据终止模式abt、未定义指令中止模式und。
3. 大端格式和小端格式
答:大端格式和小端格式是ARM处理器数据存储格式。小端格式是低地址存放低字节数据,高地址存放高字节数据。如十六制数据从高到低11223344,设最低低字节(32位)0x20000000。则在0x20000000存放44,0x200000001存放33,0x200000002存放22,0x20000003存放11。即每8位为一个字节,就是说上面16进制为4个字节。每四个字节存放一字数据。 4. ARM状态下寄存器组织 答:1.通用寄存器R0—R15; 2.状态寄存器; 5. 程序状态寄存器格式。
答:程序状态寄存器有CPSR和SPSR,格式为: N Z C V 保留位
6. Thumb状态下寄存器组织与ARM状态下寄存器组织的异同; 答:1.ARM和Thumb状态下的R0—R7一样的; 2.在Thumb中没有R8—R12; 3.ARM 中的R13对应Thumb中的SP; 4.ARM 中的R14对应Thumb中的LR; 5.ARM 中的R15对应Thumb中的PC; 6.ARM 和Thumb中的CPSR和SPSR是一样的; 7. ARM的异常分类及优先级
答:有七种异常并且优先级从高到低为:1.复位;2.数据中止;3.fiq;4.irq;5.指令预取;6.未定义指令;7.软件中断。 8. ARM异常的响应(四步)
答:1.将下一条指令的地址赋给LR,以便程序从异常返回时能从正确的位置执行;
2.将CPSR 的值复制给SPSR; 3.对CPSR进行位操作;
具体为:3.1设置模式位M[4:0],使处理器进入相应的模式; 3.2设置中断标志位M[6],禁止fiq中断;
I F T M4 M3 M2 M1 M0 3.3当进入Reset或者fiq时,还要设置中断标志位M[7],禁止irq中断。
4.PC强制赋值,使程序从相应的异常向量地址开始执行中断处理程序。
9. ARM异常返回(四步)
答:1.将那些被修改过的寄存器出栈; 2.将LR的值减去偏移量赋给PC;
3.恢复程序状态寄存器的状态,即SPSR_mode复制给CPSR; 4.清除那些被修改过的中断禁止位。 10. ARM指令的寻址方式(7种);
答:1.立即寻址;2.寄存器寻址;3.间接寻址;4.基址变址寻址;5.多寄存器寻址;6.堆栈寻址;7.相对寻址。 11. 能够说明寻址指令的含义; 12. MOV与LDR/STR的区别;
答: MOV经常用于在ARM内核中寄存器和寄存器之间或者与立即数之间传递;
LDR把存储器中的数据加载到内核中; STR把内核中的数据存储到存储器中。 13. MRS和MSR指令的用法;
答:MRS R,CPSR/SPSR状态寄存器到通用寄存器的数据传送指令; 用法:1.异常或者进程切换时需要保存C/SPSR的值,读出程序状态寄存器的值然后保存;
2.需要改变C/SPSR的值时,将值给通用寄存器,修改后再写回状态寄存器。
MSR CPSR/SPSR,R通用寄存器到状态寄存器的数据传送指令; 用于恢复或者改变程序状态寄存器的内容。
14. 加法、减法、乘法指令、跳转指令、数据交换指令、移位指令; 答:ADDS,ADC(带进位),SUBS,SBC(带进位),MUL R0,R1,R2;R0=R1*R2 SMULL R0,R1,R2,R3 ;R0=R2*R3的低32位;
R1=R2*R3的高32位;
SWAP R0,R1,[R2] ;将R2所指存储器中的内容给R0。同时,将R1的字数据给了R2所指存储器的单元。还有SWAPB字节交换。 1.有符号加法运算结束后CPSR寄存器值为0x60000013,分析CPSR状态。
答:CPSR寄存器的值化为二进制:0110 0000 0000 0000 0000 0000 0001 0011,故N=0;Z=1;C=1;V=0;I=F=T=0;M[4:0]=10011。 所以结果为零,允许irq和fiq中断,并且为执行了ARM指令,C=0运算结果没有产生进位,V=0计算结果未溢出,处理器模式为管理模式。
2.用ARM汇编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配。
答:R1,R2存放一个数的高32和低32;R6,R7存放另一个高32和低32的数。则加法:
ADDS R7,R7,R2;加S是因为要让这个操作影响标志位
ADC R6,R1,R6;高32位的加法。 减法:
SUBS R2,R2,R7;低位减法 SBC R1,R1,R6
3、编写一程序,查找存储器从0x30000000开始的100个字节中为0的数目,将其结果存到0x30000012中。 答: MOV R0,#0x3000 0000;将地址赋给R0 MOV R5,#0 MOV R3,0X30000012
START: LDR R1,[R0],#1;将字节数据存入R1中
CMP R1,#0;看R1和0是否相等 ADDEQ R5,R5,#1 CMP R0,#0x3000 0064 BNE START STR R5,[R3] END
4:仅置位C标志,保留N、Z、V标志,其他位不变。 答:
MRS R0,CPSR;将CPSR中的内容传给R0
ORR R0,R0,#0x20000000;将C位置一,其他位不变
MSR CPSR_f,R0;将值在传送给CPSR,其中的f为被修改的位,[31:24]为条件标志位,用f表示。
…… 此处隐藏:759字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




