PowerPC 汇编指令集 PowerPC 体系结构规范(PowerPC Architecture Specification)发布于 1993 年,它是一个 64 位规范 ( 也包含 32 位子集 )
几乎所有常规可用的 PowerPC(除了新型号 IBM RS/6000 和所有 IBM pSeries 高端服务器)都是 32 位的
PowerPC 处理器有 32 个(32 位或 64 位)GPR(通用寄存器)以及诸如 PC(程序计数器,也称为IAR/指令地址寄存器或 NIP/下一指令指针)、LR(链接寄存器)、CR(条件寄存器)等各种其它寄存器
有些 PowerPC CPU 还有 32 个 64 位 FPR(浮点寄存器)
MPC555使用的 PowerPC CPU 是带有FPR 的
一些常用寄存器介绍如下: 通用寄存器的用途: r0 在函数开始(function prologs)时使用
r1 堆栈指针,相当于 ia32架构中的 esp 寄存器,idapro 把这个寄存器反汇编标识为sp
r2 内容表(toc)指针,idapro 把这个寄存器反汇编标识为rtoc
系统调用时,它包含系统调用号(这个好像跟系统有关吧)
r3 作为第一个参数和返回值
r4-r10 函数或系统调用开始的参数
r11 用在指针的调用和当作一些语言的环境指针
r12 它用在异常处理和 glink(动态连接器)代码
r13 保留作为系统线程ID
r14-r31 作为本地变量,非易失性
专用寄存器的用途: lr 链接寄存器,它用来存放函数调用结束处的返回地址
ctr 计数寄存器,它用来当作循环计数器,会随特定转移操作而递减
xer 定点异常寄存器,存放整数运算操作的进位以及溢出信息
msr 机器状态寄存器,用来配置微处理器的设定
cr 条件寄存器,它分成8个4位字段,cr0-