- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用ARM指令及汇编包括 2
指令集介绍 4
ARM数据处理指令包括 7
ARM伪指令介绍 9
ARM汇编程序设计及一些格式要求说明 13
用ARM指令及汇编包括1、ARM处理器寻址方式2、指令集介绍3、伪指令4、ARM汇编程序设计5、C与汇编混合编程ARM处理器寻址方式1、寄存器寻址:操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直接取出寄存器值操作MOV? R1, R2???????;R2-R1SUB? R0, R1,R2??? ;R1-R2 -?R02、立即寻址:立即寻址指令中的操作码字段后面的地址码部分就是操作数本身,也就是说,数据就包含在指令当中,取出指令就取出了可以立即使用的操作数SUBS R0,R0,#1??????;R0-1 - R0MOV??R0,#0xff00??? ;0xff00 - R0注:立即数要以#为前缀,表示16进制数值时以0x表示3、寄存器偏移寻址:是ARM指令集特有的寻址方式,当第2操作数是寄存器偏移方式时,第2个寄存器操作数在与第1个操作数结合之前选择进行移位操作MOV? R0,R2,LSL #3????? ?;R2的值左移3位,结果存入R0,即R0 = R2 * 8ANDS R1,R1,R2,LSL R3?? ;R2的值左移R3位,然后和R1相与操作,结果放入R1寄存器偏移寻址可采用的移位操作如下(1)、LSL(Logical Shift Left)逻辑左移,寄存器中字的低端空出补0(2)、LSR(Logical Shift Right)逻辑右移,寄存器中字的高端空出补0(3)、ASR(Arthmetic Shift Right)算术右移,移位中保持符号位不变,即如果源操作数为正数,字高端空出补0,否则补1(4)、ROR(Rotate Right)循环右移,由字的低端移出的位填入高端空出的位(5)、RRX(Rotate Right eXtended by 1 place),操作数右移一位,左侧空位由CPSR的C填充4、寄存器间接寻址:寄存器间接寻址指令中的地址码给出的是一个通用寄存器的编号,所需要的操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针LDR?R1,[R2]????;将R2中的数值作为地址,取出此地址中的数据保存在R1中SWP R1,R1,[R2] ;将R2中的数值作为地址,取出此地址中的数值与R1中的值交换5、基址寻址:将基址寄存器的内容与指令中给出的偏移量相加,形成操作数的有效地址,基址寻址用于访问基址附近的存储单元,常用于查表,数组操作,功能部件寄存器访问等。LDR R2,[R3,#0x0F]????;将R3的数值加0x0F作为地址,取出此地址的数值保存在R2中STR R1,[R0,#-2]????? ;将R0中的数值减2作为地址,把R1中的内容保存到此地址位置?6、多寄存器寻址:一次可以传送几个寄存器值,允许一条指令传送16个寄存器的任何子集或所有寄存器LDMIA R1!,{R2-R7,R12}? ;将R1所指向的地址的数据读出到R2-R7,R12,R1自动更新STMIA R0!,{R3-R6,R10}??;将R3-R6,R10中的数值保存到R0指向的地址,R0自动更新7、堆栈寻址:堆栈是特定顺序进行存取的存储区,堆栈寻址时隐含的使用一个专门的寄存器(堆栈指针),指向一块存储区域(堆栈),存储器堆栈可分为两种:向上生长:向高地址方向生长,称为递增堆栈向下生长:向低地址方向生长,称为递减堆栈如此可结合出四中情况:1、满递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地址,指令如 LDMFA,STMFA2、空递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空位置,指令如 LDMEA,STMEA3、满递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址,指令如 LDMFD,STMFD4、空递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空位置,指令如 LDMED,STMEDSTMFD SP!,{R1-R7,LR}? ;将R1-R7,LR入栈,满递减堆栈LDMFD SP!,{R1-R7,LR}? ;数据出栈,放入R1-R7,LR寄存器,满递减堆栈8、块拷贝寻址:多寄存器传送指令用于一块数据从存储器的某一位置拷贝到另一位置STMIA R0!,{R1-R7}???? ;将R1-R7的数据保存到存储器中,存储器指针在保存第一个值之后增加,方向为向上增长STMIB R0!,{R1-R7}???? ;将R1-R7的数据保存到存储器中,存储器指针在保存第一个
您可能关注的文档
- 全局组,通用组,及域本地组的区别[zz][for free].doc
- 加窗频谱分析的恢复系数与其求法.pdf
- 第十八讲 哺乳纲.ppt
- 第一章 1D1D动态规划优化初步.doc
- C和C++函数的头文件兼容宏定义.doc
- 传媒动态和研究.doc
- 第十一章 美媒预测2018年手机将有15个未来功能.doc
- 第七章 mysql集群安装错误解决方案.doc
- 第九章 各类泵性能参数.doc
- 数据库系统概论要领.docx
- 第12课+近代战争与西方文化的扩张(课件)-【探究课堂】2024-2025学年高二历史同步教学课件(选择性必修3).pptx
- 2.1.2+大气的组成和垂直分层(第二课时)-【争鸣学堂】2024-2025学年高一地理上学期同步课件(人教版2019必修第一册).pptx
- 6.4+地理信息技术在防灾减灾中的应用-【争鸣学堂】2024-2025学年高一地理上学期同步课件(人教版2019必修第一册).pptx
- 5.1植被课件2024-2025学年高中地理人教版(2019)必修一.pptx
- 4.2+地貌的观察-【争鸣学堂】2024-2025学年高一地理上学期同步课件(人教版2019必修第一册)+.pptx
- 3.1水循环课件2024-2025学年高一地理人教版(2019)必修一+.pptx
- 建军98周年强国必须强军军强才能国安.pptx
- 中国精神PPT中国共产党人的精神谱系坚持真理坚守理想.pptx
- 2025红船精神学习红船劈波行精神聚人心.pptx
- 年轻干部廉洁从政要做到三个坚持专题廉政党课.pptx
最近下载
- 社会组织会费票据管理制度(范本).pdf VIP
- 代理记账业务内部管理规范制度范本.docx(核实添加无关内容) VIP
- 《公路沥青路面施工技术规范》(F40-2004 )【可编辑】.docx VIP
- 光的人眼非视觉生物效应作用剂量 编制说明.pdf
- 多准:天猫啤酒2022年趋势报告.pdf VIP
- 2025年高考政治复习知识清单必修一《中国特色社会主义》【答题模板】.pdf VIP
- 苏S01-2012给水排水图集(无水印).docx VIP
- 制瓶机供料机.doc VIP
- 加油站防汛应急预案.docx VIP
- 泌尿外科利用PDCA循环降低持续膀胱冲洗患者膀胱痉挛的发生率品管圈.pptx VIP
文档评论(0)