1-3-3 ARM伪指令以及协处理器访问指令

原创 2016年08月30日 20:12:38

1.  ARM机器码

    用命令“arm-linux-objdump -D -Sstart.elf”可以查看start.elf的反汇编信息,例如其中的一行:30008000: e59f008c 翻译成汇编,就是ldr r0, [pc, #140],其中的e59f008c就是32bit的ARM机器码。关于ARM机器码的详细解释,可参看《ARM Architecture Reference Manual》以及《The ARM Instrction set encoding》进行分析。


2.  定义类伪指令

    而伪指令,就是没有对应的机器码,只能在编译的过程中起作用,在编译时转化为其他实际指令运行。

    用命令“arm-linux-readelf -a start.elf”可查看地址和段信息。

    2.1    .global    :定义一个全局标号

    2.2    .ascii       :定义一个字符串

    2.3    .byte        :定义一个字节的数据

    2.4    .word       :定义一个字的数据

    2.5    .data        :定义数据段

    2.6    .equ         :定义一个宏

    2.7    .align       :4字节对齐

例如:

.data

hello:

    .ascii "abcdefg"    ;利用反汇编可观察到

bh:                              ;word 0x64636261

    .byte 0x1                ;word 0x68676665

.align 4

add

    .word 0xff

.text

.global _start

_start:

    .equ DA, 0x89

mov r0, #DA


3.  操作类伪指令

  3.1  nop :空操作,实质是执行了一个mov r0, r0的操作

  3.2  ldr :如果要向r0填入大于8bit的立即数,可以ldr r0, =0x1ff,但mov r0, #0x1ff就不行,因为mov只能8bit立即数,多了就不行了。(重要)


4.  ARM协处理器访问指令(可参考《ARM920T》手册)

  4.1  协处理器——cp15:主要用于执行特定的处理任务,ARM最多支持16个协处理器,在ARM中,cp15用于协助处理器控制cache,clock,mmu等。

  4.2  协处理器访问指令:mcr,mrc

    例如:mrc p15,0,r0,c0,c0,0


总结:

内存访问:str ldr

cpsr访问: msr mrs

cp15访问:mcr mrc

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【嵌入式开发】 ARM 汇编 (指令分类 | 伪指令 | 协处理器访问指令)

一篇博客搞定 ARM 汇编语言.

专题3-协处理器访问指令

1、什么是协处理器 协处理器用于执行特定的处理任务,如:数学协处理器可以控制数字处理,以减轻处理器的负担。ARM可支持多达16个协处理器,其中CP15是最重要的一个。1.1 CP15作用 系统协控...

ARM协处理器与MMU(内存管理单元)、Cache协同工作---(以三星S3C2410为例)

本文首先从总体上介绍MMU、Cache和CPU核是如何协同工作的,然后分别讲解MMU和Cache的细节。三星公司的S3C2410是一种很常见的采用ARM920T的芯片,涉及到具体的芯片时我们以S3C2...

ARM协处理器指令解析

  • 2012-08-22 11:32
  • 138KB
  • 下载

关于ARM9协处理器CP15及MCR和MRC指令

关于ARM9协处理器CP15及MCR和MRC指令   2008-08-24 10:33:17|  分类: ARM|举报|字号 订阅 在基于ARM的嵌入式应用系统...

arm的mmu使用方法与协处理器cp15指令的讲解

ARM CP15协处理器 4.1.1  访问CP15寄存器的指令 访问CP15寄存器指令的编码格式及语法说明如下: 31  28 27  24 23  21 20 19 ...

ARM9协处理器CP15、MCR/MRC指令

在基于ARM的嵌入式应用系统中,存储系统通常是通过系统控制协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0~15。 访问CP15寄存器的指令 MCR   ARM寄存器到协处理器寄存...

关于ARM9协处理器CP15及MCR和MRC指令

在基于ARM的嵌入式应用系统中,存储系统通常是通过系统控制协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0~15。 访问CP15寄存器的指令 MCR   ARM寄存器到协处理器...

ARM协处理器主要用途 及其 指令CDP LDC STC MCR MRC介绍

ARM协处理器主要用途 及其 指令CDP LDC STC MCR MRC介绍     ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行...

ARM9协处理器CP15及MCR和MRC指令

关于ARM9协处理器CP15及MCR和MRC指令   在基于ARM的嵌入式应用系统中,存储系统通常是通过系统控制协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0~15。 访...
  • aaamo
  • aaamo
  • 2013-08-23 10:45
  • 389
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)