关于ARM指令那些你必须知道的东西
1、32位ARM指令每一位都有其作用,具体如下:
- 低12为第二操作数,
- 12~15位为目的寄存器,
- 16~19位为第一操作数,
- 20~27就是操作码,
- 28~31就是条件域。
2、多寄存器load和store指令的堆栈和块拷贝对照
|
栈操作 | |||||
递增 | 递减 | |||||
满 | 空 | 满 | 空 | |||
块拷贝 | 增值 | 先增 |
STMIB STMFA |
LDMIB LDMED |
||
后增 |
STMIA STMEA |
LDMIA LDMFD |
||||
减值 | 先减 |
LDMDB LDMEA |
STMDB STMFD |
|||
后减 |
LDMDA LDMFA |
STMDA STMED |
3、CPSR的位5是T标志位,反映了处理器的状态,T=0则处理器运行在ARM状态下,T=1则处理器运行在Thumb状态下;位[4:0]被称为模式位,反映了处理器的工作模式。
4、在内存中,存放ARM指令采取4字节对齐方式,存放Thumb指令采取2字节对齐方式。
作者:耑新新,发布于 博客园
转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com
本文来自博客园,作者:Arthurian,转载请注明原文链接:https://www.cnblogs.com/Arthurian/p/7606903.html
欢迎邮件交流:zhuanxinxin@aliyun.com