汇编
wh8_2011
这个作者很懒,什么都没留下…
展开
-
arm汇编—str,mov等指令
STR指令的格式为:STR{条件} 源寄存器,STR指令用亍从源寄存器中将一个32位的字数据传送到存储器中。该指令在程序设计中比较常用,寻址方式灵活多样,使用方式可参考指令LDR。指令示例:STR R0,[R1],#8 ;将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1。STR R0,[R1,#8]转载 2016-11-11 17:47:41 · 16420 阅读 · 0 评论 -
开关中断与cpsid/cpsie指令
在汇编代码中,CPSID CPSIE 用于快速的开关中断。CPSIDI;PRIMASK=1,;关中断CPSIEI;PRIMASK=0,;开中断CPSID CPSIEFF转载 2016-11-15 10:08:52 · 2265 阅读 · 0 评论 -
arm中R0-R15寄存器的作用
根据“ARM-thumb 过程调用标准”:r0-r3 用作传入函数参数,传出函数返回值。在子程序调用之间,可以将 r0-r3 用于任何用途。 被调用函数在返回之前不必恢复 r0-r3。如果调用函数需要再次使用 r0-r3 的内容,则它必须保留这些内容。r4-r11 被用来存放函数的局部变量。如果被调用函数使用了这些寄存器,它在返回转载 2016-11-17 08:48:44 · 12521 阅读 · 0 评论 -
arm汇编指令之数据块传输(LDM,STM)详见
数据块传输指令用于加载(LDM)或者存储(STM)当前有效寄存器的任意子集。它们支持所有可能的堆栈模式,维持空或者满的堆栈,此堆栈可以向上或者向下,在保存或者恢复内容,移动主存储器的大数据块是非常有效的。1,指令格式:{cond} Rn{!}, {^} *{cond} 条件代码 * 指令类型 *Rn转载 2016-11-17 08:48:12 · 880 阅读 · 0 评论 -
Arm汇编 位置无关代码 adr 指令
adr r0, _start 得到的是_start的当前执行位置,由 pc+offset 决定的 得到有效地址ldr r0, =_start 得到的是绝对的地址,链接时决定;------------------------------------------------------------------------/* 重定位Boot代码到RAM内存,将Boot代转载 2016-11-16 10:17:04 · 493 阅读 · 0 评论 -
ARM汇编指令MCR/MRC学习
MCR指令将ARM处理器的寄存器中的数据传送到协处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。指令的语法格式:MCR{} p15, 0, , , {,}MCR2 p15, 0, , , {,}其中,为指令执行的条件码。当忽略时指令为无条件执行。MCR2中,为Ob1111,指令为无条件执行指令。 为协处理器将执行的操作的操作码转载 2016-11-16 10:12:58 · 6266 阅读 · 0 评论 -
ARM汇编,MCR和MRC
MRC 传送一个协处理器寄存器到一个 ARM 寄存器, MCR 做反方向传送(字母看起来象是写反了,记住在 ARM 汇编器中目的通常写在左边)。 MCR 传送 ARM 寄存器 Rd 的内容到协处理器。协处理器基于 ooo、dddd、qqq 和 MMMM 字段的值自由的做它想做的任何事情,尽管有一个“标准的”解释: 把它写到协处理器寄存器 CRN,使用操作 ooo,用 CRM 和 qqq 提供可能的转载 2016-11-16 10:05:31 · 1064 阅读 · 0 评论 -
ARM汇编指令MCR/MRC学习
MCR指令将ARM处理器的寄存器中的数据传送到协处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。指令的语法格式:MCR{} p15, 0, , , {,}MCR2 p15, 0, , , {,}其中,为指令执行的条件码。当忽略时指令为无条件执行。MCR2中,为Ob1111,指令为无条件执行指令。为协处理器将执行的操作的操作码。转载 2016-11-16 09:56:04 · 486 阅读 · 0 评论 -
MRS,MSR指令详解
在ARM处理器中,只有MRS(Move to Register from State register)指令可以对状态寄存器CPSR和SPSR进行读操作。通过读CPSR可以获得当前处理器的工作状态。读SPSR寄存器可以获得进入异常前的处理器状态(因为只有异常模式下有SPSR寄存器)。例如:MRS R1,CPSR ; 将CPSR状态寄存器读取,保存到R1中MRS转载 2016-11-12 11:04:40 · 2672 阅读 · 0 评论 -
常用ARM汇编指令及ATPCS规则
在嵌入式开发中,汇编程序常常用于非常关键的地方,比如系统启动时的初始化,进出中断时的环境保存、恢复,对性能要求非常苛刻的函数等。1、相对跳转指令: b 、 bl 不同之处在于: bl 指令除了跳转之外,还将返回地址( bl 的下一条指令的地址)保存在lr 寄存器中。跳转范围:当前指令的前后32M。它们是与位置无关的指令。示例: b fun1...转载 2016-12-15 09:40:58 · 845 阅读 · 0 评论