4

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

4

6 回答 6

4

我做了更多的搜索,并在 IBM 的网站上找到了文档。此页面链接到三本书的文档,其中第一本书包含有关 PowerPC 指令的所有相关信息。

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

于 2011-05-21T13:15:08.737 回答
3

这是一个: http: //pds.twi.tudelft.nl/vakken/in101/labcourse/instruction-set/

编辑:这个更好:32 位微处理器的编程环境

于 2011-05-21T13:13:54.453 回答
2

RCPU RISC 中央处理器参考手册

于 2011-05-21T13:48:33.333 回答
2

最新的规范是 Power ISA 书,可在此处获得。附录中有很多表格。

PPC 操作码表

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

于 2011-05-23T09:58:39.463 回答
2

许多其他资源早已丢失,这是一个自 2020 年起有效的答案,并且最有可能永远保持这种状态。

查找一份PowerPC 微处理器系列:程序员参考指南;Archive.org 托管了这个 1995 年的文档,并且在其他地方也可以找到相同的文档 - 搜索文本MPRPPCPRG-01以找到其他副本。

在该文档中,跳至:

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

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

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

表 33 开头 表 34 开头

于 2020-12-20T21:17:19.327 回答
1

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

于 2011-05-21T13:15:40.127 回答