PowerPC操作码表?

时间:2011-05-21 12:44:04

标签: assembly powerpc

我有兴趣为自己的学习目的开发PowerPC模拟器。我已经找到了大量关于PowerPC汇编编程的资源,但经过一段时间的研究,我还没能在任何地方找到指令/操作码映射表。当然,我需要操作码才能编写模拟器。我在哪里可以找到一个?

6 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

我在IBM的网站上做了一些狩猎并找到了文档。 This page链接到三本文档,其中the first one包含有关PowerPC指令的所有相关信息。

我最初感到困惑的是,看到许多指令都具有相同的OPCODE字段值,并且认为“我们将如何区分这些指令呢?”。但是,在1.7节“指令格式”中,整个架构中使用的许多指令形式实际上都有两部分操作码;第一部分是指令高端的六位OPCODE字段,第二部分是一个称为XO的字段,它包含操作码的额外标识。它的大小和位置取决于指令格式。

答案 2 :(得分:2)

答案 3 :(得分:2)

最新的规范是Power ISA书籍,可用here。附录中有很多表格。

PPC opcode table

请注意,ISA会随着时间的推移而波动,因此最好找到您要模拟的特定核心的文档。

答案 4 :(得分:2)

许多其他资源早已丢失,这是一个截至 2020 年有效的答案,并且最有可能永远保持下去。

查找PowerPC 微处理器系列:程序员参考指南; Archive.org 托管 tabletop 并且该文档也可在其他地方找到 - 搜索文本 MPRPPCPRG-01 以找到其他副本。

在该文档中,跳至:

  • this one from 1995 用于“4.2 PowerPC 指令集列表”部分的开头,该部分以“表 33. 按助记符排序的完整指令列表”开头;或
  • Page 44 用于“表 34. 按操作码排序的完整指令列表”。

根据文档的日期,这是 1995 年的 PowerPC 老式版本,即 PowerMac 的前几代、各种许可的 Mac 克隆版本、IBM ThinkPad 850 等。

表格很紧凑,仅提供编码信息(遵循 IBM 约定,位 0 最重要):

Page 51 Beginning of Table 33

答案 5 :(得分:1)

如果您使用的是Mac,请查看/ Library / Application Support / Shark / Helpers / PowerPC Help.app,或选择服务 - > ISA参考 - >查找PowerPC指令。