
ARM汇编学习
文章平均质量分 69
dnx000
自由简单
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
R14寄存器
1. IRQ中断异常执行过程:1> 执行用户模式下的程序2> 发生IRQ中断,硬件将某个地址存入IRQ模式下的R14_irq寄存器,用户模式下的R14未被破坏。3> IRQ服务程序A执行完毕,将R14_irq寄存器内容减去某个常量后存入PC.4> 返回到原程序的下一条指令处继续执行2. IRQ嵌套执行程序时执行过程:1> 执行用户模式下的程序2> 发生IRQ中断,硬原创 2013-05-25 21:23:07 · 1687 阅读 · 0 评论 -
ARM汇编之寻址方式
ARM7处理器有两个指令集:32位的ARM指令集,16位的Thumb指令集。1> ARM指令集:效率高,代码密度高2> Thumb指令集:具有较高的代码密度。注:1. 所有的ARM指令集都是有条件执行的,而Thumb指令集仅有一条指令具备条件执行功能。2. ARM程序和Thumb程序可相互调用,相互之间的状态切换开销几乎为零。二. ARM处理器寻址方式寻址方式是指根据指原创 2013-05-25 21:24:56 · 751 阅读 · 0 评论 -
ARM汇编之寄存器
在ARM处理器内部共有37个用户可访问的寄存器,分别为31个通用的32位寄存器和6个状态寄存器。一.通用寄存器:1.在汇编语言中,寄存器R0-R13为保存数据或地址值的通用寄存器。2.其中寄存器R0-R7为未分组的寄存器。对于任何处理器模式,它们都共享R0~R7的通用寄存器。3.寄存器R8-R12为两个分组的物理寄存器。a.FIQ拥有自己独立的R8~R12的通用寄存器。原创 2013-05-25 21:21:37 · 558 阅读 · 0 评论 -
ARM之汇编学习---如何编写ARM汇编程序
一.前言1. 看一个程序:AREA TigerJohn,CODE,READONLY;声明代码段CODE32 ;声明为32位ARM指令ENTRY ;声明程序入口START MOV R0 ,#0MOV R1 ,#1ADD R1, R1,R0B STARTEND2. 在ARM汇编程序中用“;”号进行注释。二.汇编语言程序格式一个完整的ARM汇编由两部分组成原创 2013-05-25 21:26:09 · 945 阅读 · 0 评论 -
ARM中断PC返回值分析
在ARM程序的开发过程中,对中断的处理是很普遍的、也是相当重要的。Realview MDK使用的RVCT编译器提供了__irq关键字,用此关键字修饰的函数被作为中断来函数编译,即在编译的过程中,编译器会自动添加中断处理过程中现场保护和恢复的代码,减小程序的开发难度,加快软件的开发过程。在理解__irq关键字的作用之前,先看一下ARM核对异常的处理过程。当产生异常时, ARM核拷贝CPSR寄存器原创 2013-05-25 21:27:57 · 603 阅读 · 0 评论