迁移源程序
如果源程序包含不在当前组合件方式下的指令,那么汇编程序会发出错误和警告。
如果源程序包含不在当前组合件方式下的指令,那么汇编程序会发出错误和警告。 POWER ® 系列程序的源兼容性在 PowerPC® 平台上维护。 所有 POWER ® 系列用户指令都由操作系统在 PowerPC® 中进行仿真。 由于指令的仿真比硬件支持的指令的执行慢得多,因此出于性能原因,可能需要修改源程序以使用硬件支持的指令。
当 PowerPC® 中需要限制但 POWER ® 系列中不需要限制时,会发生 "无效指令表单" 问题。 汇编程序检查无效指令表单错误,但无法检查 lswx 指令是否存在这些错误。 lswx 指令要求由第二个和第三个操作数 (RA 和 RB) 指定的寄存器不在要装入的寄存器范围内。 由于这由 "定点异常寄存器" (XER) 在运行时的内容确定,因此汇编程序无法对 lswx 指令执行无效指令形式检查。 在运行时,其中某些错误可能导致静默失败,而其他错误可能导致中断。 消除这些错误可能是可取的。 有关无效指令表单的更多信息,请参阅 检测错误条件 。
如果使用 mfspr 和 mtspr 指令,请检查特殊用途寄存器 (SPR) 操作数的正确编码。 汇编程序要求在将 SPR 操作数的低阶五位和高阶五位用作输入操作数之前,对它们进行反转。 POWER ® 系列和 PowerPC® 具有针对非特权指令的不同 SPR 操作数集。 检查这些操作数的正确编码。 从 PowerPC®中删除了五个 POWER ® 系列 SPR (TID , SDR0, MQ, RTCU 和 RTCL) ,但在 PowerPC®中模拟了 MQ, RTCU 和 RTCL 指令。 虽然仍可使用这些指令,但由于仿真,存在一些性能降级。 (有时可以使用 read_real_time 和 time_base_to_time 例程,而不是使用访问实时时钟或时间库 SPRs 的代码。)