单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 851|回复: 0
打印 上一主题 下一主题
收起左侧

自己整理的ARM学习总结以及记录(共34页Word)

[复制链接]
跳转到指定楼层
楼主
neon 发表于 2019-2-26 16:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
自己整理的ARM学习总结以及记录,搜集了一些关于ARM CPU启动方面的关键知识点,希望对大家有用。

一、CPSR概述
      ARM处理器共有37个寄存器。这37个寄存器按其在用户编程中的功能划分,可分为2类寄存器,即31个通用寄存器和6个状态寄存器。这6个状态寄存器在ARM公司文件中其名称分别为:CPSR、SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fig。这12的作用分别如图1所示:


      所有处理器模式下都可访问当前程序状态寄存器CPSR。CPSR中包含条件码标志、中断禁止位、当前处理器模式以及其他状态和控制信息。在每种异常模式下都有一个对用的程序状态寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。
(1)条件码标志
N、Z、C、V,最高4位称为条件码标志。ARM的大多数指令可以条件执行的,即通过检测这些条件码标志来决定程序指令如何执行。
各个条件码的含义如下:
N:在结果是有符号的二进制补码情况下,如果结果为负数,则N=1;如果结果为非负数,则N=0。
Z:如果结果为0,则Z=1;如果结果为非零,则Z=0。
C:其设置分一下几种情况:
               对于加法指令(包含比较指令CMN),如果产生进位,则C=1;否则C=0。
               对于减法指令(包括比较指令CMP),如果产生借位,则C=0;否则C=1。
               对于有移位操作的非法指令,C为移位操作中最后移出位的值。
               对于其他指令,C通常不变。
V:对于加减法指令,在操作数和结果是有符号的整数时,如果发生溢出,则V=1;如果无溢出发生,则V=0;对于其他指令,V通常不发生变化。
(2)控制位的作用在图1中可以看出,在这里就不阐述了。
二:CPSR与CPSR_c的区别
      CPSR有4个8位区域:标志域(F)、状态域(S)、扩展域(X)、控制域(C)

完整的Word格式文档51黑下载地址(共34页):
arm学习记录.docx (318.24 KB, 下载次数: 6)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|单片机论坛 |51黑电子论坛技术交流 QQ 管理员QQ:125739409;技术交流QQ群636986012

Powered by 单片机教程网

快速回复 返回顶部 返回列表
妞干网免费观看频2018