![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM Cortex-M0 内核
文章平均质量分 65
介绍ARM Cortex-M0 内核的相关内容
墨鱼yy
这个作者很懒,什么都没留下…
展开
-
ARM Cortex-M0 内核寄存器组
Cortex-M0处理器具有非常小的面积、低功耗和最少的代码,使开发人员能够以8位的价格实现32位的性能,从而绕过了16位的设备。BIT[29]: 进位标志 BIT[28]: 溢出标志。由APSR、IPSR、EPSR三个寄存器组成,可以单独访问,也可以同时访问。由CONTRCL寄存器中BIT[1]控制要使用的堆栈指针。BIT[30]: 0标志。IPSR BIT[5:0]: 中断标志。APSR BIT[31]: 复数标志。原创 2024-06-03 16:40:25 · 805 阅读 · 0 评论 -
ARM Cortex-M0 指令集
下表列出了所有的M0内核支持的所有指令及解释:BKPT。原创 2024-06-03 18:19:27 · 241 阅读 · 0 评论 -
ARM Cortex-M0 指令集---数据操作指令-移动指令(1)
1、MOVS Rd,# 将8bit的立即数#imm复制到寄存器Rd中,并且更新寄存器APSR中的。2、MOVS Rd,Rm 将寄存器Rm中的值复制到寄存器Rd中,并且更新寄存器APSR中的N、Z标志。仿真如下,一个时钟周期后,将寄存器R1的值复制到寄存器R0中。3、MOV Rd,Rm 将寄存器Rm中的值复制到寄存器Rd中。4、MOV PC,Rm 将寄存器Rm的值复制到PC寄存器中去。仿真如下,一个时钟周期后,将寄存器R1的值复制到寄存器R0中。原创 2024-06-04 18:37:27 · 397 阅读 · 0 评论 -
ARM Cortex-M0 指令集---数据操作指令-加法指令(2)
5、ADDS Rd,Rd,#<imm> 将Rd寄存器的内容和8bit的立即数#imm相加,结果保存在寄存器Rd中,并且更新寄存器APSR中的 N、Z、C 和V标志。6、ADCS Rd,Rd,Rm 将Rm寄存器的内容和Rd寄存器的内容相加,结果保存在寄存器Rd中,并且更新寄存器APSR中的 N、Z、C 和V标志。2、ADDS Rd,Rn,Rm 将Rn寄存器的内容和Rm寄存器的内容相加,结果保存在寄存器Rd中,并且更新寄存器APSR中的N、Z、C和V标志。原创 2024-06-04 21:52:12 · 413 阅读 · 0 评论 -
ARM Cortex-M0 指令集---数据操作指令-减法指令(3)
3、SUBS Rd,Rd,#<imm2> 将Rd寄存器的内容减去8bit的立即数#imm2,结果保存在寄存器Rd中,并且更新寄存器APSR中的 N、Z、C 和V标志。4、SBCS Rd,Rd,Rm 将 Rd 寄存器的内容与Rm 寄存器的内容和借位标志相减,结果保存在寄存器Rd中,并且更新寄存器APSR中的 N、Z、C 和V标志。1、SUBS Rd,Rn,Rm 将Rn寄存器的内容减去Rm寄存器的内容,结果保存在寄存器Rd中,并且更新寄存器APSR中的 N、Z、C 和V标志。原创 2024-06-05 22:02:56 · 503 阅读 · 0 评论 -
ARM Cortex-M0 指令集---数据操作指令-乘法指令(4)
2、机器周期1个或者32个,这是由于ARM M0内核提供了2种乘法器可供选择,一种是速度优先的单周期乘法器,一种是面积优先的32周期乘法器,芯片设计者可以在这2种中选择所需要的。1、MULS Rd,Rm,Rd 将Rd寄存器的内容和Rm寄存器的内容相乘,结果保存在寄存器Rd中,并且更新寄存器APSR中的 N、Z标志。注:1、指令后加后缀S表示指令操作完成后需要更新APSR寄存器中对应的标志。仿真如下,如果是单周期的乘法器,一个周期后计算值复制到R0寄存器。如果使用的是32周期的乘法器,仿真如下。原创 2024-06-05 15:29:18 · 679 阅读 · 0 评论 -
ARM Cortex-M0 指令集---数据操作指令-比较指令(5)
2、CMN Rn,Rm 将比较寄存器 Rn 的内容和对寄存器 Rm 取反后内容,得到(Rn)+(Rm)的结果但不保存该结果,并且更新寄存器 APSR 中的 N、Z、C和V标志。1、CMP Rn,Rm 将比较寄存器 Rn 和寄存器 Rm 的内容,得到(Rn) - (Rm)的结果,但不保存该结果,并且更新寄存器 APSR 中的 N、Z、C和V标志。注:1、CMP指令的Rd和Rm只能是R0-R14寄存器中的一个,立即数的取值范围是0-255。2、CMN指令的Rd和Rm只能是R0-R7寄存器中的一个。原创 2024-06-11 14:14:49 · 346 阅读 · 0 评论 -
ARM Cortex-M0 指令集---数据操作指令-逻辑指令(6)
4、BICS Rd,Rd,Rm 将寄存器 Rm 的[31:0]位按位做“逻辑取反”运算,然后与寄存器 Rd 中的[31:0]位做“逻辑与”运算,结果保存在寄存器 Rd 中,并且更新寄存器 APSR 中的 N 和Z标志。1、ANDS Rd,Rd,Rm 将寄存器 Rd 和寄存器 Rm 中的内容做“逻辑与”运算,结果保存在寄存器Rd中,并且更新寄存器APSR中的N和Z标志。注:1、所有指令的Rd、Rn和Rm只能是R0-R7寄存器中的一个。原创 2024-06-11 14:37:17 · 303 阅读 · 0 评论