- 1、本文档共179页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.3.3 存储器(SROM/SDRAM)地址引脚连接 存储器地址引脚与微处理器地址引脚的具体连接方法随系统设计的数据总线宽度不同而异,参见表4.3和图4.3。 复和参数传递等。它有表3.8所示的8种模式,分别用于堆栈操作和数据块的传输。 图3.7 多数据传送 (3)交换指令SWP 指令格式为: SWP{条件}{B} Rd,Rm,[Rn] 3)数据处理指令 ARM数据处理指令大致可以分为:数据传送指令(如MOV,MVN)、算术逻辑运算指令(如ADD,SUB,AND)、比较指令(如CMP,TST)、乘法指令(如MLA,MUL)。 (1) 数据传送指令 ①MOV指令——数据传送指令。 ②MVN指令——数据非传送指令。 (2)算术逻辑运算指令 ①ADD指令——加法运算指令。 指令格式为: ADD{条件}{S} Rd,Rm,Rn ②SUB指令——减法运算指令。 指令格式为: SUB{条件}{S} Rd,Rm,Rn ③RSB指令——逆向减法指令。 指令格式为: RSB{条件}{S} Rd,Rm,Rn ④ADC指令——带进位加法指令。 指令格式为: ADC{条件}{S} Rd,Rm,Rn 伪码:Rd=Rm+Rn+carry ⑤SBC指令——带借位减法指令。 指令格式为: SBC{条件}{S} Rd,Rm,Rn ⑥RSC指令——带借位逆向减法指令。 指令格式为: RSC{条件}{S} Rd,Rm,Rn ⑦AND指令——逻辑“与”操作指令。 指令格式: AND{条件}{S} Rd,Rm,Rn ⑧ORR指令——逻辑“或”操作指令。 指令格式: ORR{条件}{S} Rd,Rm,Rn ⑨EOR指令——逻辑“异或”操作指令。 指令格式如下: EOR{条件}{S} Rd,Rm,Rn ⑩BIC指令——位清除指令。 指令格式为: BIC{条件}{S} Rd,Rm,Rn (3)比较指令 ①CMP指令——比较指令。 指令格式为: CMP{条件} Rm,Rn ②CMN指令——负数比较指令。 指令格式为: CMN{条件} Rm,Rn ③TST指令——位测试指令。 指令格式为: TST{条件} Rm,Rn ④TEQ指令——相等测试指令。 指令格式为: TEQ{条件} Rm,Rn (4)乘法指令 ARM乘法指令有MUL,MLA,MULL,MLAL等。 ①MUL指令——32位乘法指令。 指令格式为: MUL{条件}{S} Rd,Rm,Rn ②MLA指令——32位乘法加指令。 指令格式为: MLA{条件}{S} Rd,Rm ,Rn,Rs 4)程序状态寄存器处理指令 (1)MRS指令——读状态寄存器指令 指令格式为: MRS{cond} Rd,psr (2)MSR指令写状态寄存器指令 指令格式为: MSR{cond} psr_fields,#immed_8r MSR{cond} psr_fields,Rm 5)协处理器指令 ARM协处理器指令包括以下5条: CDP,LDC,STC,MCR,MRC 协处理器若不能成功完成上面特定的操作,则产生未定义指令异常。 ①CDP指令——协处理器数据操作指令 指令格式为: CDP{条件} coproc,opcode1,CRd,CRn,CRm,{,opcode2} ②LDC指令——协处理器数据读取指令 指令格式为: LDC{条件}{L} coproc,CRd,地址 ③STC指令——协处理器数据写入指令 指令格式为: STC{条件}{L} coproc,CRd,地址 ④MCR指令——ARM寄存器到协处理器寄存器的数据传送指令 指令格式为: MCR{条件} coproc,opcoed1,Rd,CRn,CRm{,opcode2} ⑤MRC指令——协处理器寄存器到ARM寄存器的数据传送指令 指令格式为: MRC{条件} coproc,opcode1,Rd,CRn,CRm{,opcode2} 6)异常产生指令 (1)SWI指令——软中断指令 指令格式为: SWI{cond} immed_24 (2)BKPT指令——断点中断指令 BKPT指令产生软件断点中断,可用于程序的调试。 3.5 ARM伪指令及汇编程序设计简介 3.5.1 符号定义伪指令 (1)GBLA,GBLL和GBLS 指令格式: GBLA/GBLL/GBLS 变量名 (2)LCLA,LCLL和LCLS 指令格式: LCLA/LCLL/LCLS 变量名 (3)SETA,SETL和SETS 指令格式: SETA/SETL/SETS 变量名 (4)RLIST 指令格式: RLIST 变量名 3.5.2 数
您可能关注的文档
- 嵌入式Linux C语言程序设计基础教程第11章 嵌入式linux内核常见数据结构.ppt
- 嵌入式Linux C语言开发第1章 嵌入式linuxC语言开发工具.ppt
- 嵌入式Linux C语言开发第3章 嵌入式Linux C高级用法.ppt
- 嵌入式Linux C语言开发第4章 嵌入式linux内核常见数据结构.ppt
- 嵌入式Linux C语言开发第5章 嵌入式Linux文件操作.ppt
- 嵌入式Linux C语言开发第6章 嵌入式Linux进程和线程编程.ppt
- 嵌入式Linux C语言开发第7章 网络通讯相关的C语言应用.ppt
- 嵌入式Linux操作系统第2章 Linux操作系统使用与系统配置.ppt
- 嵌入式Linux操作系统第3章 嵌入式Linux编程环境.ppt
- 嵌入式Linux操作系统第4章 存储管理.ppt
文档评论(0)