ARM基础
1. 将32位a的【7:4】改成0101 -> a = a&(~(0xF << 4)) | (0x5 << 4);
2. 32位:单次处理数据32位。
3. 对于CPU而言,一切皆内存;
4. DMA总线:不经过CPU直接在内存和内存间交换数据。DMA控制器存在控制转移权的问题。
5. 指令集:识别的汇编指令的集合、
6. CISC:指令长度和周期不固定。
7. Jazelle:单子节(加速Java bytecode)。
8. ARM默认小端:低地址,低字节。(一个数据内部)
9. 软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。(linux 用户态和内核态切换)
10. 特定的模式下执行特定的代码,完成特定的功能。
11. 特定的模式拥有特定的权限,能访问的寄存器是特定的。
12. 程序员能使用的cpu资源只有寄存器。
13. r15 = pc, r14 = LR(链接寄存器:子函数返回到下一条语句 pc = LR,非叶子函数会覆盖,要先压到栈里)。
14. r13 = sp(栈指针;压栈保护现场)
15. 子程序调用前后,栈指针指向同一个位置。
16. sp:stack pointer; lr:link register pc:program counter 。