zoukankan      html  css  js  c++  java
  • ARM基础知识

    ARM处理器模式:

    模式可以理解为 工作环境。

    异常模式:SVC管理模式、 FIQ 快速中断模式 、 IRQ中断模式、Abort中止、Undef 未定义模式;

    正常模式:System系统模式、 User 用户模式

    1-6 模式称为特权模式,7为非特权模式。

    PC机里面有一个运行级别的概念。

    某些程序运行在这个模式下,另一些程序在另一个模式下。

    ARM状态:

    执行arm指令。Pc值字对齐(32位)代码量变小。

    Thumb状态:

    执行thumb指令。Pc值半字对齐(16位)。

    ARM处理器有37个32位长的寄存器。

    通用寄存器:

    参与运算,保存运算结果。(凡是运算涉及到的寄存器都是通用寄存器)

    Add r0, r1,r2 (r1+r2 = r0)

    R0~R15 在用户模式与系统模式下

    R13 :堆栈指针寄存器 stack poiter 堆栈指针。(sp)

    R14:链接寄存器(记录上一次记录的位置)

    R15:程序计数器pc,永远指向取值的的指令地址。

    代码区 、 数据区、 bss段。

    内存里面一般不能没有栈。栈的位置与代码放入内存的顺序相反。

    把2、3、5等的地址放入其地址。

    状态寄存器:

    通用寄存器:

    Usr/sys :

    Ro – R15

    Irq:

    状态寄存器:

    Cpsr current program state register。当前程序状态寄存器。

    以上总结下,总共37个寄存器。

    汇编代码:

    伪指令+指令

    数据传送指令:MOV + 立即数、寄存器、寄存器移位

    比较指令:CMP 15种条件。

    (logic shift right 逻辑右移R4位)

  • 相关阅读:
    读取xml文件(可执行文件根目录debug)
    c# winform textbox与combox让用户不能输入
    枚举类型
    值类型与引用类型
    error: failed to push some refs to 'https://git.oschina.net/bluede/TuShuGuanLi.g it'
    left join on 和where中条件的放置位置
    left join、right join、inner join、full join
    Union、Union All、Intersect、Minus
    分层设计的好处
    Hibernate查询方式
  • 原文地址:https://www.cnblogs.com/zhuxuekui/p/4440419.html
Copyright © 2011-2022 走看看