【问题标题】:PowerPC opcode table?PowerPC 操作码表?
【发布时间】:2011-08-30 05:21:15
【问题描述】:

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

【问题讨论】:

    标签: assembly disassembly powerpc instruction-set opcode


    【解决方案1】:

    我进行了更多搜索,并在 IBM 的网站上找到了文档。 This page 链接到三本书的文档,其中the first one 包含有关 PowerPC 指令的所有相关信息。

    看到许多指令都具有相同的 OPCODE 字段值,我最初感到困惑,并想,“那么我们将如何区分指令?”。但是,在第 1.7 节“指令格式”中,整个体系结构中使用的许多指令格式实际上都有一个两部分的操作码;第一部分是指令高端的六位 OPCODE 字段,第二部分是称为 XO 的字段,其中包含操作码的额外标识。它的大小和位置因指令格式而异。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 您的第二个链接在登录之后。
      • 两个链接都死了,404
      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:
        【解决方案5】:

        许多其他资源早已丢失,这是一个自 2020 年起有效且最有可能永久保留的答案。

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

        在该文档中,跳至:

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

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

        这些表很紧凑,只提供编码信息(遵循 IBM 约定,第 0 位是最重要的):

        【讨论】:

          【解决方案6】:

          如果您使用的是 Mac,请查看 /Library/Application Support/Shark/Helpers/PowerPC Help.app,或选择 Services -> ISA Reference -> Lookup PowerPC Instruction。

          【讨论】:

          • 不幸的是,我不在 Mac 上。虽然我确实有一个,但奇怪的是,我在那里找不到它。我需要安装 Xcode 吗?
          • 我猜你可能需要安装开发者工具,因为它位于一个名为“Shark”的文件夹中,但我不确定。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-01-18
          • 1970-01-01
          • 1970-01-01
          • 2015-02-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多