这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ARM,R15 学习ARM的过程中碰到一个关于R15概念的问题。

共2条 1/1 1 跳转至

ARM,R15 学习ARM的过程中碰到一个关于R15概念的问题。

院士
2006-09-17 18:14:16     打赏
ARM,R15 学习ARM的过程中碰到一个关于R15概念的问题。



关键词: 学习     过程中     碰到     一个     关于     概念     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 学习ARM的过程中碰到一个关于R15概念的问题。

<<ARM体系结果与编程>>书中这么规定:

程序计数器R15又被记做PC,它虽然可以作为一般的通用寄存器使用,但在一些指令中R15又有一些特殊的限制。
当违反了这些限制,指令执行的结果不可预料。

数据的处理过程中常用格式:
<opcode > {<cond>} {s}  <Rd>,<Rn>,<shifter_operand>

其中<shifter_operand>为第2操作数

当第2操作数为<Rm>,LSL #<shift_imm>  说明:当R15用做第1个源操作数Rn或者第2个操作数Rm时,操作数既为
当前指令地址+8。

当第2操作数为<Rm>,LSL <Rs>          说明:当R15用做Rn、Rm、Rd及Rs时,会产生不可预知的结果。

//=======================================================

我想提出的问题是:

1。R15在指令中使用的限制是怎么规定的?这些限制怎么来理解呢?

2。当第2操作数为<Rm>,LSL <Rs>  如果R15用做Rn、Rm、Rd及Rs时,会产生不可预知的结果。

怎么来理解这样的一个执行过程?



1: r15r15是pc指针用于指向下一条命令的地址,所以一般是不用它来做工作寄存器的,编程过程中只要不用她做工作寄存器就行了,留着那么多寄存器不用偏偏要用r15这不是自找麻烦吗!

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]