1:这里进行了现场保护,可是并没有保护SPSR中的内容,所以还是要把SPSR保存下来,等子程序返回时再把R0-R3,R12,LR、SPSR恢复。
3:STMFD是批处理指令,要求必须带上花括号,就算你处理的只是一个寄存器,也要带上花括号,这是格式要求。前一句已经把SPSR读到R0中去了,这句话的意思是把R0中的内容压栈,SP带个叹号,说明是回写指令。由于SPSR中的内容智能用MRS和MSR指令进行读写,所以要先用MRS读出来才能将其保存。第一句R0已经保存了,这里就不算是覆盖了,因为后面R0可以恢复的
5:这句指令时先变址不回写指令,意思是,如果R0中的内容不等于0x20,则将LR减2后的所对应的内存中的内容以无符号半字形式加载到R0,也就是低16位
8:由于5、6、7指令没有影响标志位,所以SPSR中的内容还是第4句判断后的结果,所以这句指令的意思是如果R0中的内容等于0x20,则将R0的高8位清零。
若有不对的地方,敬请指正……希望对你有帮助