ARM 汇编
薇远镖局
态度决定一切!
展开
-
arm汇编—str指令
STR指令的格式为:STR{条件} 源寄存器,STR指令用亍从源寄存器中将一个32位的字数据传送到存储器中。该指令在程序设计中比较常用,丏寻址方式灵活多样,使用方式可参考指令LDR。指令示例:STR R0,[R1],#8 ;将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1。STR R0,[R1,#8]转载 2016-04-12 17:17:43 · 1927 阅读 · 0 评论 -
arm中R0-R15寄存器的作用
根据“ARM-thumb 过程调用标准”:r0-r3 用作传入函数参数,传出函数返回值。在子程序调用之间,可以将 r0-r3 用于任何用途。 被调用函数在返回之前不必恢复 r0-r3。如果调用函数需要再次使用 r0-r3 的内容,则它必须保留这些内容。r4-r11 被用来存放函数的局部变量。如果被调用函数使用了这些寄存器,它在返回之前必须恢复这些寄存器的值。转载 2016-04-14 15:46:34 · 5099 阅读 · 0 评论 -
伪指令ADR和LDR的区别
ARM汇编有ldr指令以及ldr、adr伪指令,他门都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别。 ldr r0, _start adr r0, _start ldr r0, =_start_start: b _start 编译的时候设置 RO 为转载 2016-04-14 10:40:57 · 528 阅读 · 0 评论 -
标志位简介
标志位简介:标志寄存器,又称程序状态寄存器(它的内容是Program Status Word,PSW).这是一个存放条件码标志,控制标志和系统标志的寄存器.6个状态标志位CF—进位标志,加法时的最高位(D7或D15)产生进位或减法时最高位出现借位,则CF=1,否则CF=0;AF—辅助进位标志,供BCD码使用。当D3位出现进位或借位时AF=1,否则AF=0;转载 2016-04-14 09:06:40 · 46582 阅读 · 1 评论 -
arm汇编指令bne、beq和tst
arm汇编指令bne、beq和tst转载 2016-04-13 16:02:09 · 9411 阅读 · 0 评论 -
GNU汇编程序中的分段(.section伪操作)
GNU汇编程序中的分段 <1> .section伪操作 .section {,””} Starts a new code or data section. Sections in GNU are called .text, a code section, .data, an initialized data section, and .bss, an uninitialized dat转载 2016-04-13 15:34:55 · 6573 阅读 · 2 评论 -
汇编cmp比较指令详解
cmp(compare)指令进行比较两个操作数的大小例:cmp oprd1,oprd2为第一个操作减去第二个操作数,但不影响第两个操作数的值它影响flag的CF,ZF,OF,AF,PF我们怎么判断大小呢?若执行指令后ZF=1 这个简单,则说明两个数相等,因为zero为1说明结果为0当无符号时:若 CF=1 则说明了有进位或借位,cmp是进行的减操作,故转载 2016-04-13 15:23:16 · 15291 阅读 · 0 评论 -
arm汇编标号.globel和.word解释
bootloader的目标:启动内核 1、从Flash上把内核读入内存 a、能读Flash b、初始化内存 时钟 其他 2、启动 a、设置参数 b、跳转执行 最简单的bootloader的编写步骤:1. 初始化硬件:关看门狗、设置时钟、设置SDRAM、初始化NAND FLASH2. 如果b转载 2016-04-13 15:11:33 · 1656 阅读 · 0 评论 -
arm汇编—ldr加载指令,ldr伪指令
1,ldr加载指令LDR指令的格式为:LDR{条件} 目的寄存器,LDR指令用亍从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用亍从存储器中读取32位的字数据到通用寄存器,然后对数据迕行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。该指令在程序设计中比较常用,丏寻址方式灵活多样,请读者认真掌握。转载 2016-04-12 17:11:39 · 1092 阅读 · 0 评论 -
arm汇编指令之数据块传输(LDM,STM)详见
数据块传输指令用于加载(LDM)或者存储(STM)当前有效寄存器的任意子集。它们支持所有可能的堆栈模式,维持空或者满的堆栈,此堆栈可以向上或者向下,在保存或者恢复内容,移动主存储器的大数据块是非常有效的。1,指令格式:{cond} Rn{!}, {^} *{cond} 条件代码 * 指令类型 *Rn转载 2016-04-14 14:42:19 · 19357 阅读 · 3 评论