汇编
qq_42212319
这个作者很懒,什么都没留下…
展开
-
初始化ARM处理器各模式下的堆栈指针SP(R13)
程序设计思路:通过状态寄存器与通用寄存器之间数据传输指令MRS/MSR实现,修改时应采用“读取-修改-写回”三个步骤来实现。每次只需修改相应的域即可,如本次程序只修改C控制域。同时应注意系统模式与用户模式共用SP,只需初始化其一即可。程序代码如下:(1)在GNU ARM开发环境下编程: .equ _ISR_STARTADDRESS, 0xC7FF000 @设置栈的内存基地址...转载 2019-01-12 15:00:35 · 3063 阅读 · 0 评论 -
arm寄存器解析
要介绍arm寄存器之前我们要先了解一下arm处理器的工作模式:Arm处理器有七种工作模式,为的是形成不同的使用级别,以防造成对系统的破坏。不同模式可以访问的寄存器不同,可以运行的指令不同。(1)usr(10000):普通应用程序运行的模式(应用程序)(2)FIQ(10001):快速中断模式,以处理快速情况,高速数据传输(3)IRQ(10010):外部中断模式,普通中断处理(4)...转载 2019-01-12 15:03:36 · 300 阅读 · 0 评论 -
ARM汇编指令集
跳转指令跳转指令用于实现程序流程的跳转在ARM程序中有以下两种方法可以实现程序流程的跳转:使用专门的跳转指令 直接向程序计数器PC(R15)写入跳转地址值。通过向程序计数器PC写入跳转地址值,可以实现在4GB的地址空间中的任意跳转,在跳转之前结合使用MOV LR,PC等类似指令,可以保存将来的返回地址值,从而实现在4GB连续的线性地址空间的子程序调用。ARM指令集中的跳转指令可以完...转载 2019-01-12 15:06:13 · 218 阅读 · 0 评论