ARM汇编指令学习方法

ARM 245浏览

//最近在学习ARM汇编指令以及其应用场合及方法

   在学习指令之前,我想应该先对ARM处理器编程基础有一个了解,这样你在学汇编指令的时候才会觉得学起来有目的性。在看编程基础的时候一遇到了一系列问题就是,有的知识在你会觉得是纯理论,并且看起来很吃力,而且很多东西看的时候确实懂了,但是想记住它却很难。举一个很简单的例子,ARM在不同的工作模式下,所能访问的寄存器是不同的。在往后学习的过程中,我发现,其实有的知识不需要你去死记硬背下来,你可以在学习汇编指令的时候,返回去看编程基础的相关知识,这样不仅解决了你对汇编代码的疑惑,同时加深了你对编程基础知识的理解。再举一个简单的例子:ADDEQS R0,R1,#3;//这条指令的意思是将R1+3的值存到R0寄存器中,其中EQ表示指令执行的条件(相等时才执行),S表示该指令执行将影响CPSR的值。那么说到这里,问题就来了,确实,你现在是在学习汇编指令,而且对应的解释也告诉你了,但是问题就出在这里了,拿我自己来说,当我看到这条指令的时候在想:为什么寄存器是R0,而不是R14或是R15,CPSR的作用是什么?此时就需要你返回去查看前面编程基础的知识了,查询后我知道了:不同的工作模式下所能使用的寄存器是有区别的,R0到R7是未分组的寄存器,R14跟R15寄存器都有其特定的作用,CPSR代表程序当前状态。

//当然这里的重点不是在说汇编指令以及编程基础的知识,而是这种学习的方法,值得大家参考。