CPSR和SPSR中各个位的含义

N:负数标志位。如果目标寄存器中的有符号数为负数,则N=1,否则N=0。

Z:零标志位。如果目标寄存器中的数为0,则N=1,否则N=1。

C:进位标志位。有以下3种情况

1、无符号加法运算和CMN指令,如果产生进位,则C=1,否则C=0;

2、无符号减法运算和CMP指令,如果产生借位,则C=0,否则C=1;

3、进行移位操作的时候,C中保存最后一位移出的值。

说明:当一条指令中同时含有算术运算指令和移位指令时,影响C的值是算术运算而不是移位操

作。

V:溢出标志位。进行有符号运算时如果发生错误,则V=1,否则V=0。

一些指令如CMN、TEQ等会无条件的刷新CPSR中的条件标志位,其他指令必须要在指令后面加上S后缀才会改变CPSR中的条件标志位。

I:IRQ中断禁止位。I=1代表禁止IRQ中断,I=0代表允许IRQ中断。

F:FIQ中断禁止位。F=1代表禁止FIQ中断,F=0代表允许FIQ中断。

这里和51单片机中的中断使能位有点小差别,51中的是中断使能位,所以为1的时候应该是中断使能,即允许中断。而这里是中断禁止位,为1的时候应该是禁止中断。

T:这一位只在ARMv4T指令集版本及以上才有效。因为ARMv4版本及以下都不支持Thumb指

令集。在支持Thumb指令集的处理器中,T=0表示处于ARM状态,T=1表示处于Thumb状态。

M[4:0]:用于控制7种模式位。

时间: 2024-10-14 00:09:49

CPSR和SPSR中各个位的含义的相关文章

CPSR和SPSR(转)

转载地址:http://blog.chinaunix.net/uid-28458801-id-3487199.html CPSR:程序状态寄存器(current program status register) (当前程序状态寄存器),在任何处理器模式下被访问.它包含了条件标志位.中断禁止位.当前处理器模式标志以及其他的一些控制和状态位.CPSR在用户级编程时用于存储条件码.    SPSR:程序状态保存寄存器(saved program status register),每一种处理器模式下都有

android权限--android开发中的权限及含义(上)

android权限--android开发中的权限及含义(上) android.permission.EXPAND_STATUS_BAR 允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序 android.permission.FACTORY_TEST 作为一个工厂测试程序,运行在root用户 android.permission.FLASHLIGHT 访问闪光灯,android开发网提示HTC Dream不包含闪光灯 android.pe

PB中自定义事件ID含义

PB中自定义事件ID含义 单选或多选按钮消息(前缀:pbm_bm) pbm_bmgetcheck 单选按钮或多选按钮是否被选. pbm_bmgetstate 按钮是否加亮. pbm_bmsetcheck 将无线按钮或确认框的选中状态改为未选中状态,反之亦然. pbm_bmsetstate 加亮或不加亮按钮. pbm_bmchange 改变按钮的风格,例如,改为单选按钮或组合框. 单选或多选按钮通知消息(前缀:pbm_bn) pbm_bnclicked 按钮控件被点中. pbm_bndisable

转:java中volatile关键字的含义

转:java中volatile关键字的含义 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制. synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized 和 块语句,在多线程访问的时候,同一时刻只能有一个线程能够用 sync

C语言中关键字volatile的含义【转】

本文转载自:http://m.jb51.net/article/37489.htm 本篇文章是对C语言中关键字volatile的含义进行了详细的分析介绍,需要的朋友参考下 volatile 的意思是“易失的,易改变的”.这个限定词的含义是向编译器指明变量的内容可能会由于其他程序的修改而变化.通常在程序中申明了一个变量时,编译器会尽量把它存放在通用寄存器中,例如ebx.当CPU把其值放到ebx中后就不会再关心对应内存中的值.若此时其他程序(例如内核程序或一个中断)修改了内存中它的值,ebx中的值并

[转载]linux下编译php中configure参数具体含义

编译N次了   原来这么回事 原文地址:linux下编译php中configure参数具体含义作者:捷心特 php编译参数的含义 ./configure –prefix=/usr/local/php                      php 安装目录 –with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/php/etc      指定php.ini位置 –with-mysql=/usr/local

远程桌面Default.rdp 中各个参数的含义

存储在 Default.rdp 文件中的设置 默认情况下,将在“我的文档”文件夹中创建 Default.rdp 文件.以下 RDP 设置存储在 Desktop.rdp 文件中: desktopwidth:i 此设置对应于您在远程桌面连接“选项”中的“显示”选项卡上选择的桌面宽度. 注意:基于 Microsoft Windows CE 的设备只支持全屏模式. desktopheight:i 此设置对应于您在远程桌面连接“选项”中的“显示”选项卡上选择的桌面高度. 注意:基于 Microsoft W

Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义

Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义 首先我们指明,任何一种行动以及教派修行方法都有他的多元化,只看到某一方面,就不能很好的评估利弊,适不适合自己使用,犹如盲人摸象,虽然都对,但是并不完整 1. 瓦哈比教派的核心思想1 1.1. 归一化,反对多神..反对邪教与不良的 修炼方式1 1.2. 规范化,标准化最佳实践 圣训立国,依法治国1 1.3. 主张整肃社会风尚,净化人们的"心灵1 1.4. 倡导团结,团队建设1 1.5. 回归传统,轻量化1 2

mysql.user表中Host为%的含义

Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1.这里的意思就是说root用户只能通过192.168.1.1的客户端去访问. 而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接.如果Host=%,表示所有IP都有连接权限.. 这也就是为什么在开启远程连接的时候,大部分人都直接把Host改成%的缘故,为了省事. mysql.user表中Host为%的含义,布布扣,bubuk