⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arm基础知识二 - arm开发者论坛-中国专业arm开发网站.htm

📁 ARM基础知识,我刚找到的。 和大家共同分享下
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0050)http://www.armforum.cn/ARMrumen/20071220/1836.html -->
<HTML xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn"><HEAD><TITLE>ARM基础知识二 - ARM开发者论坛-中国专业ARM开发网站</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content=all name=robots>
<META 
content="*************************************************************** 程序状态寄存器 *************************************************************** CPSR(当前程序状态寄存器)在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其" 
name=description>
<META content=基础知识 name=keywords ARM 处理器 模式 控制 运算 表示 CPSR 指令><LINK media=screen 
href="ARM基础知识二 - ARM开发者论坛-中国专业ARM开发网站.files/main.css" type=text/css 
rel=stylesheet><LINK media=screen 
href="ARM基础知识二 - ARM开发者论坛-中国专业ARM开发网站.files/css.css" type=text/css 
rel=stylesheet><LINK media=screen 
href="ARM基础知识二 - ARM开发者论坛-中国专业ARM开发网站.files/home.css" type=text/css 
rel=stylesheet>
<SCRIPT src="ARM基础知识二 - ARM开发者论坛-中国专业ARM开发网站.files/external.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="ARM基础知识二 - ARM开发者论坛-中国专业ARM开发网站.files/js.js" 
type=text/javascript></SCRIPT>

<SCRIPT language=javascript>
function wo_ding(num_id)
{
url = "/plus/wo_ding.php?aid="+num_id+"&post=vote&m=" + Math.random();
new ajax(url, {method: 'get', onComplete:return_review});
}
function return_review(ajax)
{
str_error_num = ajax.responseText
if(str_error_num==0)
{
  alert("好像你刚拍过了,发个新文章让其他人拍到首页吧!");
}
else
{
  alert("感谢您的投票,你也可以发布自己的文章让其他人拍到首页!")
  $("s_ding").innerHTML = str_error_num;
}
}
</SCRIPT>

<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY>
<DIV id=alpha></DIV>
<DIV id=header><A id=top></A>
<DIV id=topnav>
<DIV id=toptext>中国专业ARM开发论坛:WWW.ARMFORUM.CN</DIV>
<UL id=topnavlist>
  <LI>中国最大的ARM开发网站,做最好的ARM网站</LI></UL></DIV>
<DIV id=topbox>
<H1><A title=ARM开发论坛 
href="http://www.armforum.cn/">中国专业ARM开发:WWW.ARMFORUM.CN</A></H1>
<DIV id=topmiddle><SPAN id=google2><IMG height=32 alt=ARM7 
src="ARM基础知识二 - ARM开发者论坛-中国专业ARM开发网站.files/loading.gif" width=32></SPAN></DIV>
<UL id=topright></SCRIPT></UL>
<DIV class=clear></DIV></DIV>
<UL id=chinahtmlnav>
  <LI><A title=ARM开发论坛 href="http://www.armforum.cn/"><SPAN>网站首页</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM行业动态 
  href="http://www.armforum.cn/ARMxingyedongtai/index.html" 
  rel=external><SPAN>ARM行业动态</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM入门 href="http://www.armforum.cn/ARMrumen/index.html" 
  rel=external><SPAN>ARM入门</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM技巧 href="http://www.armforum.cn/ARMzhongji/index.html" 
  rel=external><SPAN>ARM技巧</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM仿真 
  href="http://www.armforum.cn/ARMfangzhen/index.html" 
  rel=external><SPAN>ARM仿真</SPAN></A> 
  <LI><A title=ARM开发论坛-网友作品 
  href="http://www.armforum.cn/wangyouARMzuopin/index.html" 
  rel=external><SPAN>网友作品</SPAN></A> 
  <LI><A title=ARM开发论坛-嵌入式系统 
  href="http://www.armforum.cn/qianrushixitong/index.html" 
  rel=external><SPAN>嵌入式系统</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM应用 
  href="http://www.armforum.cn/ARMyingyong/index.html" 
  rel=external><SPAN>ARM应用</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM源码下载 
  href="http://www.armforum.cn/ARMyuanmaxiazai/index.html" 
  rel=external><SPAN>ARM源码下载</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM资料下载 
  href="http://www.armforum.cn/ARMziliaoxiazai/index.html" 
  rel=external><SPAN>ARM资料下载</SPAN></A> 
  <LI><A title=ARM开发论坛专题 href="http://www.armforum.cn/special/index.php" 
  rel=external><SPAN>专题</SPAN></A> </LI></UL>
<UL id=subinfo>
  <LI class=searchli>
  <DIV id=searchtop><!-- Google CSE Search Box Begins  -->
  <FORM id=searchbox_006841628252179339083:u16nw8ub_py 
  action=http://www.google.com/cse>ARM文章搜索:<INPUT type=hidden 
  value=006841628252179339083:u16nw8ub_py name=cx> <INPUT size=25 name=q> <INPUT type=submit value=搜索 name=sa> <SPAN id=topbbs><A title=ARM开发论坛 
  href="http://www.armforum.cn/plus/guestbook/">&gt;&gt;ARM开发论坛用户交流区</A></SPAN></FORM>
  <SCRIPT src="ARM基础知识二 - ARM开发者论坛-中国专业ARM开发网站.files/brand.htm" 
  type=text/javascript></SCRIPT>
  </DIV></LI>
  <LI class=c><A 
  href="http://www.armforum.cn/member/index_do.php?fmdo=user&amp;dopost=regnew">会员注册</A> 
  | <A title=ARM信息发布 
  href="http://www.armforum.cn/ARMrumen/20071220/1836.html#">信息发布</A> | <A 
  href="http://www.armforum.cn/member/article_add.php" 
  rel=external><STRONG>文章投稿</STRONG></A> </LI>
  <LI class=searchli>ss</FORM> </LI>
  <LI class=d><A href="http://www.armforum.cn/plus/rssmap.html" 
  rel=external>信息订阅</A> </LI></UL>
<DIV class=clear></DIV></DIV>
<DIV id=middleimg>
<DIV id=topmidleimg></DIV></DIV>
<DIV id=containertow>
<DIV id=content>
<DIV id=articlenav>您现在正在浏览:<A 
href="http://www.armforum.cn/">ARM开发者论坛-中国专业ARM开发网站</A>&gt;&gt;<A 
href="http://www.armforum.cn/ARMrumen/index.html">ARM入门</A>&gt;&gt;</DIV>
<DIV id=article>
<DIV id=entry>
<DIV id=entrytitle>
<H1>ARM基础知识二</H1>
<DIV id=entrymeta>发表时间:2008-03-16 
00:00:00&nbsp;&nbsp;&nbsp;&nbsp;来源:ARM开发者论坛&nbsp;&nbsp;&nbsp;&nbsp;责任编辑::佚名&nbsp;&nbsp;&nbsp;&nbsp;阅读数:
<SCRIPT language=javascript 
src="ARM基础知识二 - ARM开发者论坛-中国专业ARM开发网站.files/count.htm"></SCRIPT>
</DIV></DIV>
<DIV class=clear></DIV>
<DIV id=entrybody>
<DIV id=entryadbox></DIV>
<STYLE>.Dbk656 {
	DISPLAY: none
}
</STYLE>

<P>*************************************************************** 
<P class=Dbk656>ARM</P>
<P></P>
<P>程序状态寄存器 <FONT color=#ffffff>字串8</FONT> </P>
<P>***************************************************************<BR>CPSR(当前程序状态寄存器)在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。每一种处理器 
<SPAN class=Dbk656>字串4</SPAN> </P>
<P>模式下都有一个专用的物理状态寄存器,称为SPSR(备份程序状态寄存器)<BR>。当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容。在异常中断退出时,可以用SPSR来恢复CPSR。由于用户模式和系统模式不是异常 
<FONT color=#ffffff>字串4</FONT> </P>
<P>中断模式,所以他没有SPSR。当用户在用户模式或系统模式访问SPSR,将产生不可预知的后果。<BR>CPSR格式如下所示。SPSR和CPSR格式相同。 
<SPAN class=Dbk656>字串4</SPAN> </P>
<P>31 30 29 28 27 26 7 6 5 4 3 2 1 0<BR>N Z C V Q DNM(RAZ) I F T M4 M3 M2 M1 M0 
<FONT color=#ffffff>http://www.armforum.cn</FONT> </P>
<P><BR>***条件标志位***<BR>N——本位设置成当前指令运算结果的bit[31]的值。当两个表示的有符号整数运算时,n=1表示运算结果为负数,n=0表示结果为正书或零。 

<P class=Dbk656>http://www.armforum.cn</P>
<P></P>
<P>z——z=1表示运算的结果为零;z=0表示运算的结果不为零。对于CMP指令,Z=1表示进行比较的两个数大小相等。 
<DIV class=Dbk656>ARM</DIV>
<P></P>
<P>C——下面分四种情况讨论C的设置方法:<BR>在加法指令中(包括比较指令CMP),当结果产生了进位,则C=1,表示无符号运算发生上溢出;其他情况C=0。<BR>在减法指令中(包括减法指令CMP),当运算中发生错位,则C=0,表示无符号运算数发生下溢出;其他情况下C=1。<BR>对于包含移位操作的非加碱运算指令,C中包含最后一次溢出的的位的数值<BR>对于其他非加减运算指令,C位的值通常不受影响<BR>V——对于加减运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号为溢出;通常其他指令不影响V位。 

<P class=Dbk656>ARM</P>
<P></P>
<P>***Q标识位***<BR>在ARM 
V5的E系列处理器中,CPSR的bit[27]称为q标识位,主要用于指示增强的dsp指令是否发生了溢出。同样的spsr的bit[27]位也称为q标识位,用于在异常中 

<P class=Dbk656>http://www.armforum.cn</P>
<P></P>
<P>断发生时保存和恢复CPSR中的Q标识位。<BR>在ARM V5以前的版本及ARM V5的非E系列的处理器中,Q标识位没有被定义。 <SPAN 
class=Dbk656>字串4</SPAN> </P>
<P><BR>***CPSR中的控制位*** <SPAN class=Dbk656>M开发论坛</SPAN> </P>
<P>CPSR的低八位I、F、T、M[4:0]统称为控制位。当异常中断发生时这些位发生变化。在特权级的处理器模式下,软件可以修改这些控制位。 <SPAN 
class=Dbk656>ARM开发论坛</SPAN> </P>
<P>**中断禁止位:当I=1时禁止IRQ中断,当F=1时禁止FIQ中断 
<DIV class=Dbk656>http://www.armforum.cn</DIV>
<P></P>
<P>**T控制位:T控制位用于控制指令执行的状态,即说明本指令是ARM指令还是Thumb指令。对于ARM 
V4以更高版本的T系列ARM处理器,T控制位含义如下:<BR>T=0表示执行ARM指令<BR>T=1表示执行Thumb指令<BR>对于ARM 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -