
--------【ARM汇编】
文章平均质量分 63
加油11
模仿模仿再模仿!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ARM的编程模式和7种工作模式
1 ARM的基本设定ARM 采用的是32位架构(S5PV210)。ARM 约定:Byte : 8 bitsHalfword :16 bits (2 byte)Word : 32 bits (4 byte)大部分ARM core 提供:ARM 指令集(32-bit) Thumb 指令集(16-bit )Thumb2指令集(16 & 32bit)Jazelle cores 支持原创 2017-09-23 16:37:32 · 984 阅读 · 0 评论 -
ARM的37个寄存器
1 ARM寄存器这里看到的就是ARM内核里面的所有寄存器了,一共有37个。我们前面说过,ARM体系一共有7种模式,其中用户模式和系统模式拥有物理空间上完全相同的寄存器,而其它5种异常模式都有一些自己独立的寄存器。我们看图中左边显示的是当前模式的可见的寄存器,右边显示的是其它模式备用的寄存器。其中黑色的部分为当前模式与用户模式共用的寄存器,而彩色部分为各个寄存器独立物理空间的寄存器。这样安排的好处是当原创 2017-09-25 22:30:14 · 824 阅读 · 0 评论 -
ARM汇编指令集相关概念
1 ARM汇编基本概念1.1 两个概念:指令与伪指令(汇编)指令是CPU机器指令的助记符,经过编译后会得到一串10组成的机器码,可以由CPU读取执行。(汇编)伪指令本质上不是指令(只是和指令一起写在代码中),它是编译器环境提供的,目的是用来指导编译过程,经过编译后伪指令最终不会生成机器码。1.2 两种不同风格的ARM指令ARM官方的ARM汇编风格:指令一般用大写、Windows中IDE开发环原创 2017-10-12 22:30:43 · 336 阅读 · 0 评论 -
协处理器和协处理器指令
1 协处理器cp15操作指令mcr & mrcmrc用于读取CP15中的寄存器mcr用于写入CP15中的寄存器2 什么是协处理器SoC内部另一处理核心,协助主CPU实现某些功能,被主CPU调用执行一定任务。ARM设计上支持多达16个协处理器,但是一般SoC只实现其中的CP15(cp:coprocessor)。协处理器和MMU、cache、TLB等处理有关,功能上和操作系统的虚拟地址映射原创 2017-10-18 22:58:06 · 1283 阅读 · 0 评论 -
ldm/stm与栈的处理
1 为什么需要多寄存器访问指令ldr/str每周期只能访问4字节内存,如果需要批量读取、写入内存时太慢,解决方案是stm/ldm。举例: stmia sp, {r0 - r12}将r0存入sp指向的内存处(假设为0x30001000);然后地址+4(即指向0x30001004),将r1存入该地址;然后地址再+4(指向0x30001008),将r2存入该地址······直到r12内容放入(0x30原创 2017-10-21 11:04:56 · 620 阅读 · 0 评论 -
ARM异常处理方式简单介绍
1 什么是异常正常工作之外的流程都叫异常。异常会打断正在执行的工作,并且一般我们希望异常处理完成后继续回来执行原来的工作。中断是异常的一种。2 异常向量表所有的CPU都有异常向量表,这是CPU设计时就设定好的,是硬件决定的。当异常发生时,CPU会自动动作(PC跳转到异常向量处处理异常,有时伴有一些辅助动作)。异常向量表是硬件向软件提供的处理异常的支持。3 ARM异常处理机制当异常产生原创 2017-10-12 20:49:47 · 717 阅读 · 0 评论 -
ARM汇编伪指令
1 伪指令的意义伪指令不是指令,伪指令和指令的根本区别是经过编译后会不会生成机器码(有些伪指令会被转换成对应的汇编指令,再生成响应的机器码,比如ldr伪指令)。伪指令的意义在于指导编译过程。伪指令是和具体的编译器相关的,我们使用gnu工具链,因此学习gnu环境下的汇编伪指令。2 gnu汇编中的一些符号@ 用来做注释。可以在行首也可以在代码后面同一行直接跟,和C语言中//类似# 做注释,一原创 2017-10-22 12:27:11 · 444 阅读 · 0 评论 -
常用ARM指令(数据处理、跳转等指令)
1 常用ARM指令1:数据处理指令数据传输指令 mov mvn mov(move) mov r1, r0 @两个寄存器之间数据传递 mov r1, #0xff @ 将立即数赋值给寄存器 mvn和mov用法一样,区别是mov是原封不动的传递,而mvn是按位取反后传递 按位取反的含义: 譬如r1 = 0x000000ff,然后mov r0, r1原创 2017-10-17 21:49:11 · 1393 阅读 · 0 评论