资料介绍
ARM 指令集(中文版)ARM 指令集
寄存器和处理器模式(26-bit 体系) 寄存器和处理器模式(32-bit 体系) 程序状态寄存器和操纵它的指令 寄存器装载和存储指令 算术和逻辑指令 移位操作 乘法指令 比较指令 分支指令 条件执行 软件中断指令 APCS (ARM 过程调用标准) 编写安全的 32-bit 代码的基本规则 IEEE 浮点指令 汇编器伪指令 指令快速查找 ARM 指令格式
寄存器和处理器模式
ARM 处理器有二十七个寄存器,其中一些是在一定条件下使用的,所以一次只能使用十六 个...
寄存器 0 到寄存器 7 是通用寄存器并可以用做任何目的。 不象 80x86 处理器那样 要求特定寄存器被用做栈访问,或者象 6502 那样把数学计算的结果放置到一个累 加器中,ARM 处理器在寄存器使用上是高度灵活的。 寄存器 8 到 12 是通用寄存器,但是在切换到 FIQ 模式的时候,使用它们的影子 (shadow)寄存器。 寄存器 13 典型的用做 OS 栈指针,但可被用做一个通用寄存器。这是一个操作系 统问题,不是一个处理器问题,所以如果你不使用栈,只要你以后恢复它,你可以 在你的代码中自由的占用(corrupt)它。 每个处理器模式都有这个寄存器的影子寄存 器。 寄存器 14 专职持有返回点的地址以便于写子例程。 当你执行带连接的分支的时候, 把返回地址存储到 R14 中。 同样在程序第一次运行的时候,把退出地址保存在 R14 中。R14 的所有实例必须被保存到其他寄存器中(不是实际上有效)或一个栈中。这
1
PDF created with pdfFactory trial version www.pdffactory.com
个寄存器在各个处理器模式下都有影子寄存器。一旦已经保存了连接地址,这个寄 存器就可以用做通用