zoukankan      html  css  js  c++  java
  • arm9的操作模式,寄存器,寻址方式

    工作模式

    Arm7种工作模式

    名称

    简称

    简介

    User

    Usr

    正常用户程序执行的模式(linux下用户程序就是在这一模式执行的。)

    FIQ

    Fiq

    快速中断模式

    IRQ

    Irq

    普通中断模式

    Supervisor

    Svc

    给操作系统准备的保护模式,权限很高的一种模式,linux的内核就是运行在此模式

    Abort

    Abt

    比如访问虚拟内存,导致了异常,就是进入这一模式。

    Undefined

    Und

    运行一条处理器并不支持的指令就进入此模式。

    System

    Sys

    Armv4及以上的版本才有。用得比较少。

     

     

     

     

    寄存器

    其寄存器总共有3731个通用寄存器,6个状态寄存器。大致结构如下,下图总共有18个,不够37个,剩下的实际是被banked的寄存器,在不同的模式下,分组寄存器和程序状态寄存器用的是不同的物理寄存器。

    下面两个

    下面两个寄存器需要特别注意:

    R13堆栈寄存器

    R14LR寄存器

     

    关于arm中的程序状态字寄存器,他相当于M3中的状态字寄存器,中断屏蔽寄存器,control寄存器的集合体,下面对它的一些比较重要的位作说明:

     

      NZ位代表的是运算结果的状态,比较跳转,条件执行等指令会用得到它们。

     

      I位和F位是对快速中断和普通中断的控制。

     

      M[]位是对操作模式和banked寄存器的使用的控制。

     

     

    注:cpsrspsr内容相同,只不过spsr可以作为cpsr的一个存档使用,粗糙的说:也就是进入其他模式之前先把cpsr的内容保存在spsr中,返回之后cpsr的值虽然已经被破坏,但是可以通过spsr回复。

     

     

     

     

     

     

    寻址模式

        Arm5种寻址方式,如下:

    立即数寻址

     

    寄存器寻址

     

    寄存器间接寻址

     

    基址变址寻址

     

    相对寻址

     

     





  • 相关阅读:
    程序员需要的各种PDF格式电子书【附网盘免费下载资源地址】
    Web安全大揭秘
    tar 压缩解压命令详解
    django开发项目的部署nginx
    CentOS7安装mysql-python模块
    我的博客站点上线了
    2006
    centos7安装pip
    mysql删除匿名用户
    FilenameFilter 文件名过滤
  • 原文地址:https://www.cnblogs.com/dchipnau/p/5255831.html
Copyright © 2011-2022 走看看