day3 ARM寄存器组织

目录

寄存器

 ARM寄存器

专用寄存器

CPSR寄存器


寄存器

概念:寄存器是处理器内部的存储器,没有地址;

作用:一般用于暂时存放参与运算的数据和运算结果;

分类:包括通用寄存器、专用寄存器、控制寄存器;

day3 ARM寄存器组织_第1张图片

 ARM寄存器

day3 ARM寄存器组织_第2张图片

 注:在某个特定模式下只能使用当前模式下寄存器,一个模式下特有的寄存器其他模式下不可使用;

带有三角的是当前模式下特有的寄存器;

ARM下有40个寄存器;

专用寄存器

R15(PC, Program Counter)

程序计数器,用于存储当前取址指令的地址;

R14(LR, Link Register)

连接寄存器,一般有以下两种用途:

  1.         执行跳转指令(BL / BLX)时,LR会自动保存跳转指令下一条指令的一直程序需要返回时将LR的值赋值到PC即可实现;
  2.         产生异常时,对应异常模式下的LR会自动保存被异常打断的指令的下一条指令的地址,异常处理结束后将LR的值复制到PC可实现程序返回;

R13(SP, Stack Pointer)

栈指针,用于存储当前模式下的栈顶地址;

栈内存放的是临时数据,当有临时数据需要存放在栈中时,就可以从SP寄存器中获取栈顶地址将数据存入,SP寄存器也会随之移动指向下一个空栈。

CPSR寄存器

CPSR(Current Program Status Register),当前程序状态寄存器;

day3 ARM寄存器组织_第3张图片

 CPSR寄存器分为四个域,

[31:24]为条件域用F表示、

[23:16]为状态域用S表示、

[15:8]为预留域用X表示、

[8:0]为控制域用C表示 
day3 ARM寄存器组织_第4张图片

 day3 ARM寄存器组织_第5张图片

 

你可能感兴趣的:(我的小白学习笔记,LV.12,ARM体系结构与接口技术,单片机,嵌入式硬件,linux,c语言,arm)