首页 > 编程知识 正文

cm4次方换算,arm指令集多少位

时间:2023-05-05 15:21:52 阅读:107833 作者:976

语境1、什么是指令,经典ARM架构指令集—ARM指令集、Thumb指令集1.1、Thumb指令集1.2、ARM指令集与Thumb指令集1.3的比较、经典ARM架构指令集的缺点2、 Cortex-M4架构指令集—Thumb-2指令集2、指令的格式1、ARM指令的格式ARM指令的条件代码字段APSR中的5个标志位:三、CM4常用Thumb-2指令1、分支

一.引导什么是指示

指示计算机工作的二进制代码

1、经典ARM架构指令集—ARM指令集、Thumb指令集与经典ARM架构处理器

有两种工作状态。 ARM和Thumb状态支持固定长度的32位ARM指令和16位Thumb指令1.1。 Thumb指令集Thumb指令集是添加到ARM指令集的独立指令集,通过压缩ARM指令集可以将代码规模减少20%-30%

但是,Thumb指令只对基本的算术和逻辑运算有用,有一些不便之处。

在Thumb状态下R8-R12寄存器使用受限,中断处理、长跳、循环移位、条件执行等操作无法完成1.2、比较ARM指令集和Thumb指令集Thumb指令集代码密度高,缓冲区使用效率高

1.3、经典ARM架构指令集的缺点Thumb码和ARM码必须隔离在不同的模块中,不能混用。 使用时需要切换处理器工作状态的两种状态的切换降低了代码的执行速度,并且增加了代码量,清空了流水线

2、Cortex-M4架构指令集—Thumb-2指令集Thumb-2指令集集集成了ARM指令集和Thumb指令集的优点,能够完全替代ARM和Thumb指令集

Thumb-2指令集不是Thumb指令集的升级,而是另一范围,是ARM指令集和Thumb指令集的超集

Thumb-2指令集可以执行16位和32位混合代码,而不切换处理器的操作状态

Thumb-2指令集的指令有两种

16位指令32位指令Cortex-M4内核使用的是Thumb-2指令集的子集,其处理器状态有两种:

Thumb状态调试状态Cortex-M4内核在执行指令时,只有一个状态是Thumb状态

二.命令的格式指令 = 操作码 + 操作数

操作码:表示计算机执行的操作

操作数:表示计算机运行的对象

例如,add r0、r1、r2: add——操作码、表加; r0、r1、r2 :操作数; r0:目标操作数; r1、r2:源操作数。 1、ARM命令格式 opcode { cond } {S} Rd , Rn , operand2

{ }表可有可无

opcode操作码,例如ADD、MOV等{ cond }有条件地执行命令。 例如,beq标签; 仅在满足EQ时,转移确定3354指令后缀{S}指令的执行是否影响APSR寄存器的标志位3354指令后缀Rd的寄存器。 用于存储结果(即目标操作数) Rn第一源操作数寄存器可以是寄存器、常数operand2第二源操作数,也可以是() #0xab、) ) s’等常数r1、LSL #2 ARM

例如mov r0、#1mov r1、#2cmp r0、r1movcc r2、#3; 小于或等于mov r2、#3moveq r2、#1movcs r2、#2执行上述命令后,r2的值为3

APSR中的五个标志位: N:负标志(Negative ) z )零结果标志(Zero ) C:进位/借位标志(Carry ) V:溢出标志(oVerflow )

三、CM4常用的Thumb-2指令1、分支指令:用于改变程序执行流程实现跳转

主要有b、BL、BX、BLX、CBNZ、CBZ、IT、TBB、TBH。 (后三个我只知道。 )

b、BL

四.伪令

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。