版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北风网项目培训ARM处理器指令系统(17)讲师:韩老师 (北风网 )嵌入式系统设计(嵌入式ARM处理器编程)ARM使用多寄存器Load/Store指令来完成堆栈操作; 使用堆栈时,需要确定堆栈在存储空间中是向上生长(递增的“A”)还是向下生长(递减的“D”); 满堆栈(“F”)是指堆栈指针指向堆栈的最后一个已使用的地址或满位置;相反,空堆栈(“E”)是指SP指向堆栈的第一个没有使用的地址或空位置;寻址方式说明pop=LDMpush=STMFA递增满LDMFALDMDASTMFASTMIBFD递减满LDMFDLDMIASTMFDSTMDBEA递增空LDMEALDMDBSTMEASTMIAED递减
2、空LDMEDLDMIBSTMEDSTMDALDMFD sp!,r4-r7,pcSP100FF1234AOBE80341010123484209753r41r514544r60r712lr9048pc9020r4100100FFr5FF1234r61234A0BEr7A0BE8034pc8034ARM堆栈操作通过块传送指令来完成:STMFD(Push)块存储- Full Descending stack STMDBLDMFD(Pop)块装载- Full Descending stack LDMIAr4100r5FFr61234r7A0BElr8034ABCD8765102E16FFFF10101
3、23484209753存储器顶SPSP100FF1234A0BE8034SPOld SP100FF1234A0BE8034STMFD sp!,r4-r7,lr0 x800180 x000000010 x800140 x000000020 x80010Empty0 x8000cEmpty0 x800180 x000000010 x800140 x000000020 x800100 x000000030 x8000c0 x00000002PRE 地址 数据POST 地址 数据SPSPPRE : r1=0 x00000002, r4=0 x00000003, sp=0 x00080014执行指令:
4、STMFD sp!, r1,r4POST: r1=0 x00000002, r4=0 x00000003, sp=0 x0008000cAREA Example,CODE,READONLY;声明代码段ExampleENTRY;标识程序入口CODE32;声明32位ARM指令STARTMOVSP,#0 x300000MOVR1,#0 x11MOVR2,#0 x22MOVR3,#0 x33MOVR4,#0 x44MOVR5,#0 x55STMFAR13!,R2-R5;保存寄存器R2R5内容保存入堆栈MOVR2,#0 x77;改变R2中的值LDMFAR13!,R2-R5;从堆栈中还原之前保存的寄存器的
5、值MOVSP,#0 x400000STMEAR13!,R1-R5;将寄存器R1R5内容存入堆栈, EA是如何存的?MOVSP,#0 x540000STMFDR13!,R2-R5;将寄存器R2R5内容存入堆栈MOVR3,#0 x66LDMFDR13!,R2-R5;以FD的模式从堆栈中还原寄存器的值MOVSP,#0 x600000STMEDR13!,R2-R4B STARTEND本环节主要学习ARM处理器根据指令中给出的地址信息来寻找物理地址的几种方式:立即寻址,寄存器寻址,寄存器间接寻址,基址变址寻址,多寄存器寻址,相对寻址,堆栈寻址 1324ARM微处理器的指令集概述 ARM指令集 ARM指令
6、的寻址方式 Thumb指令及应用 015310ADDS r2,r2,#1ADD r2,#132-bit ARM 指令16-bit Thumb 指令Thumb 是16-bit 指令集代码密度优化 (总代码大小约为ARM指令的65%)使用窄总线存储器时可以大大提高性能。是 ARM 指令集的一个子集。核存在一个执行状态 Thumb状态ARM和Thumb之间切换使用BX 指令Thumb不是一个“好” 指令集!最好用编译器来产生约束并不一致手动编码使用ARM指令集比较好 更多细节,参看:ARM “Architecture Reference Manual”本章系统的介绍了ARM指令集中的基本指令,以及各指令的应用场合及方法,由基本指令还可以派生出一些新的指令,但使用方法与基本指令类似。与常见的如X86体系结构的汇编指令相比较,ARM指令系统无论是从指令集本身,还是从寻址方式上,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住院患者跌倒风险评估及预防(团体解读)试题及答案
- 贷款风险处置工作方案
- 分享班长管理经验演讲稿
- 2026年秋招:商汤科技试题及答案
- 玉溪红塔集团历年真题
- 2026年新疆交通局预算核算招聘考试练习试卷(含答案)
- 2026年甘肃税务局招聘考试练习试卷(含答案)
- 2026年天津市场监管局招聘考试练习试卷(含答案)
- 2026年福建不动产登记中心消防安全管理员招聘考试练习试卷(含答案)
- 2026大连焊工实操考试题库及答案
- 各地2026年H1经济财政债务盘点:化债下半场的区域分化
- 2026-2027学年秋苏科版新版小学信息科技三年级上册教学计划及进度表
- 快乐读书吧 《读书真快乐》 课件 2026-2027学年一年级上册语文统编版
- 暖通专业专项施工方案
- 2026年新教材人教PEP版五年级上册英语Unit 2 My feelings教案
- 2026浙江省强基联盟高一阶段检测英语月考试题(含答案解析)
- 施工现场有限空间作业风险辨识方案
- 2026年辽宁大学转专业笔试考试题库及答案
- 幼儿园入学准备教育指导要点
- (2026年)外科规培学习汇报课件
- 养老院安宁服务工作制度
评论
0/150
提交评论