ARMCortexM4指令列表.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARMCortexM4指令列表

ARM Cortex-M4 指令列表 ARM Cortex-M4 支持的指令在下表1~8 中列出。 表1 16 位数据操作指令 指令 功能 ADC 带进位加法 ADD 加法 AND 按位与。这里的按位与和C 的””功能相同 ASR 算术右移 BIC 按位清0 (把一个数跟另一个无符号数的反码按位与) CMN 负向比较(把一个数跟另一个数据的二进制补码相比较) CMP 比较(比较两个数并且更新标志) CPY 把一个寄存器的值拷贝到另一个寄存器中 EOR 近位异或 LSL 逻辑左移(如无其它说明,所有移位操作都可以一次移动多格) LSR 逻辑右移 MOV 寄存器加载数据,既能用于寄存器间的传输,也能用于加载立即数 MUL 乘法 MVN 加载一个数的NOT 值(取到逻辑反的值) NEG 取二进制补码 ORR 按位或 ROR 圆圈右移 SBC 带借位的减法 SUB 减法 TST 测试(执行按位与操作,并且根据结果更新Z ) REV 在一个32 位寄存器中反转字节序 REVH 把一个32 位寄存器分成两个 16 位数,在每个 16 位数中反转字节序 REVSH 把一个32 位寄存器的低 16 位半字进行字节反转,然后带符号扩展到32 位 SXTB 带符号扩展一个字节到32 位 SXTH 带符号扩展一个半字到32 位 UXTB 无符号扩展一个字节到32 位 UXTH 无符号扩展一个半字到32 位 表2 16 位转移指令 指令 功能 B 无条件转移 Bcond 条件转移 BL 转移并链接。用于呼叫一个子程序,返回地址被存储在LR 中 BLX 使用立即数的BLX 不要在ARM Cortex-M4 中使用 CBZ 比较,如果结果为0 就转移(只能跳到后面的指令) CBNZ 比较,如果结果非0 就转移(只能跳到后面的指令) IT If ‐Then 表3 16 位存储器数据传送指令 指令 功能 LDR 从存储器中加载字到一个寄存器中 LDRH 从存储器中加载半字到一个寄存器中 LDRB 从存储器中加载字节到一个寄存器中 LDRSH 从存储器中加载半字,再经过带符号扩展后存储一个寄存器中 LDRSB 从存储器中加载字节,再经过带符号扩展后存储一个寄存器中 STR 把一个寄存器按字存储到存储器中 STRH 把一个寄存器存器的低半字存储到存储器中 STRB 把一个寄存器的低字节存储到存储器中 LDMIA 加载多个字,并且在加载后自增基址寄存器 STMIA 加载多个字,并且在加载后自增基址寄存器 PUSH 压入多个寄存器到栈中 POP 从栈中弹出多个值到寄存器中 16 位数据传送指令没有任何新内容,因为它们是Thumb 指令,在v4T 时就已经固定下 来了。 表4 其它16 位指令 指令 功能 SVC 系统服务调用 BKPT 断点指令。如果调试被使能,则进入调试状态(停机)。或者如果调试监视器 异常被使能,则调用一个调试异常,否则调用一个fault 异常 NOP 无操作 CPSIE 使能PRIMASK(CPSIE i)/FAULTMASK(CPSIE f)——清0 相应的位 CPSID

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档