- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用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的数据保存到存储器中,存储器指针在保存第一个
您可能关注的文档
- 安装keil4教程及keil4下增加C51支持.doc
- 安卓手机_WIFI_能连接上_但是不能上网问题解决方法.doc
- 岸边缓冲带生态功能和其建设的理论_王东胜.pdf
- 奥数(排列及组合).doc
- 宝德-服务器行业领导力量.pdf
- 备份及恢复简介.ppt
- 备战NOIP2010提高组初赛复习——算法篇之算法设计常用策略.doc
- 01进制和码元.ppt
- 悖论和其意义.doc
- 01验证与确认(打印).pdf
- 2025年市总工会党组书记、市委组织部部长生活会“四个带头”个人对照检查发言材料2篇(含上年度整改+个人情况、个人事项+典型案例).docx
- 2025年部编版小学六年级下册《道德与法治》第四单元 让世界更美好第10课 我们爱和平教学课件.pptx
- 公司领导班子2025年围绕“四个带头”主题检视问题整改落实方案与组织生活会批评意见(20条)2篇文.docx
- 教育系统党组班子2025年对照“四个带头”含意识形态、以典型案例举一反三解析检视材料【2篇文】.docx
- 2025年国有企业领导班子、学校副校长生活会“四个带头”方面对照个人检视发言材料2篇文(附:上年度整改情况、典型案例解析).docx
- 2025年生活会“四个带头”个人对照检查材料2篇文(含对其他领导批评意见,个人公开事项申报、意识形态).docx
- 2025年国有企业党委书记、领导班子生活会“四个带头”方面对照检查发言材料2篇文(上年度整改情况).docx
- 乡镇领导班子、市委组织部常务副部长2025年对照“四个带头”含违纪行为为典型案例的剖析与反思检视剖析材料{2篇文}.docx
- 市委社会工作部2025年生活会领导班子对照检视发言材料2篇文(含以案为鉴,深刻反思存在问题、反面典型案例举一反三解析、其他需要说明情况).docx
- 2025年民主生活会、组织生活会批评意见(20条)与市直单位领导班子“四个带头”对照检查材料【含上年度查摆问题整改落实情况】2篇文.docx
最近下载
- 公司管理提升方案.docx
- 江西高职院校单招《职业适应性测试》近年考试真题题库资料汇总(含答案).pdf
- IA32架构软件开发人员手册第3卷:系统编程指南(中文版部分)(可编辑).doc
- 2022-2023年临床“三基”-医学临床三基(医师)考试题库8(含答案).docx VIP
- 2025届全国高考真题模拟英语专项训练:写作(附答案).docx
- 人教版高中地理第二章《地表形态的塑造》测试题(含答案) .pdf VIP
- Unit 4 Time to celebrate Understanding ideas(说课稿)-2024-2025学年外研版(2024)七年级英语上册.docx VIP
- 2022-2023年临床“三基”-医学临床三基(医师)考试题库10(含答案).docx VIP
- 北京市海淀区2024-2025学年八年级上学期期末考试数学试卷(含答案).pdf
- 第四章 控制及其设计-2022年高中通用技术学业水平考试综合复习(粤科版2019)必修 技术与设计2.docx VIP
文档评论(0)