深化了解ARM的这三个寄存器,对编程以及操作体系的移植都有很大的裨益。
1、仓库指针r13(SP):每一种反常形式都有其自己独立的r13,它一般指向反常形式所专用的仓库,也就是说五种反常形式、非反常形式(用户形式和体系形式),都有各自独立的仓库,用不同的仓库指针来索引。这样当ARM进入反常形式的时分,程序就能够把一般通用寄存器压入仓库,回来时再出栈,确保了各种形式下程序的状况的完整性。
2、衔接寄存器r14(LR):每种形式下r14都有本身版组,它有两个特别功用。
3、程序计数器r15(PC):PC是有读写约束的。当没有超越读取约束的时分,读取的值是指令的地址加上8个字节,我们ARM指令总是以字对齐的,故bit[1:0]总是00。当用str或stm存储PC的时分,偏移量有可能是8或12等其它值。在V3及以下版别中,写入bit[1:0]的值将被疏忽,而在V4及以上版别写入r15的bit[1:0]有必要为00,不然结果不行猜测。