摘要: 1.MSR和MRS指令介绍 MRS 指令: 对状态寄存器CPSR和SPSR进行读操作。通过读CPSR可以获得当前处理器的工作状态。读SPSR寄存器可以获得进入异常前的处理器状态(因为只有异常模式下有SPSR寄存器)。 MSR指令: 对状态寄存器CPSR和SPSR进行写操作。与MRS配合使用,可以实现 阅读全文
posted @ 2020-03-31 23:14 QIYUEXIN 阅读(5269) 评论(0) 推荐(0) 编辑
摘要: LR是用于保存函数调用的返回地址的link register。 SP是堆栈指针。堆栈通常用于在函数调用中保存”automatic”变量和上下文/参数。从概念上讲,您可以将”stack”视为您”pile”您的数据的地方。您将”stacking”保留在一个数据之上,堆栈指针告诉您”high”的数据是”s 阅读全文
posted @ 2020-03-31 22:52 QIYUEXIN 阅读(4063) 评论(0) 推荐(0) 编辑
摘要: bx lr 的作用等同于 mov pc,lr 即跳转到lr中存放的地址处。 那么lr存放的是什么地址呢? lr就是连接寄存器(Link Register, LR),在ARM体系结构中LR的特殊用途有两种:一是用来保存子程序返回地址;二是当异常发生时,LR中保存的值等于异常发生时PC的值减4(或者减2 阅读全文
posted @ 2020-03-31 22:46 QIYUEXIN 阅读(1358) 评论(0) 推荐(0) 编辑
摘要: https://www.sohu.com/a/339622340_100281310 1991 年ARM 公司成立于英国剑桥,在成立后的那几年,ARM业绩平平,工程师们也人心惶惶,害怕随时都会失业。在这个情况下,ARM决定改变他们的产品策略——他们不再生产芯片,转而以授权的方式,将芯片设计方案转让给 阅读全文
posted @ 2020-03-31 22:43 QIYUEXIN 阅读(2257) 评论(0) 推荐(0) 编辑
摘要: ARM处理器的工作状态 https://blog.csdn.net/itismine/article/details/4753701?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_releva 阅读全文
posted @ 2020-03-31 22:31 QIYUEXIN 阅读(1896) 评论(0) 推荐(0) 编辑
摘要: 跳转指令用于实现程序流程的跳转,在 ARM 程序中有两种方法可以实现程序流程的跳转: (1) 使用专门的跳转指令。 (2) 直接向程序计数器 PC 写入跳转地址值。 通过向程序计数器 PC 写入跳转地址值,可以实现在 4GB 的地址空间中的任意跳转,在跳转之前结合使用 MOV LR , PC 等类似 阅读全文
posted @ 2020-03-31 22:17 QIYUEXIN 阅读(5355) 评论(1) 推荐(1) 编辑
摘要: 在汇编代码中,CPSID CPSIE 用于快速的开关中断。 I:IRQ中断; F:FIQ中断最常见的这两个命令的使用处是在关中断、开中断的实现中,我们经常用的local_irq_enable和local_irq_disable最终都是调用了以下两个实现,即关/开中断只是操作了CPSR中的中断标志位而 阅读全文
posted @ 2020-03-31 22:00 QIYUEXIN 阅读(2255) 评论(0) 推荐(0) 编辑
摘要: AREA |.text|, CODE, READONLY, ALIGN=2 ;AREA |.text| 选择段 |.text|。 ;CODE表示代码段,READONLY表示只读(缺省) ;ALIGN=2表示4字节对齐。若ALIGN=n,这2^n对齐 THUMB ;Thumb 代码 REQUIRE8 阅读全文
posted @ 2020-03-31 21:42 QIYUEXIN 阅读(2447) 评论(0) 推荐(0) 编辑
摘要: REQUIRE8 and PRESERVE8 The REQUIRE8 and PRESERVE8 directives specify that the current file requires or preserves eight-byte alignment of the stack. Th 阅读全文
posted @ 2020-03-31 21:27 QIYUEXIN 阅读(1149) 评论(0) 推荐(0) 编辑
摘要: EXPORT CPU_SR_Save import:翻译为进口或引入,表明要调用的函数为外部文件定义 export:翻译为出口或输出,表明该符号可以被外部模块使用,类似于C中的extern功能。 ;*************************************************** 阅读全文
posted @ 2020-03-31 21:25 QIYUEXIN 阅读(425) 评论(0) 推荐(0) 编辑