PowerPC操作码表?

4

我有兴趣开发一个PowerPC仿真器,以便于我的个人学习。我已经找到了一些关于PowerPC汇编语言编程的资源,但是在寻找了相当长时间后,我还没有能够找到任何指令/操作码映射表。当然,我需要这些操作码才能编写仿真器。请问我应该在哪里找到这个映射表呢?

6个回答

5
我进行了更多的搜索并在IBM网站上找到了相关文档。这个页面链接了三本书的文档,其中第一本书包含了所有与PowerPC指令相关的信息。
一开始,我被看到许多指令都具有相同的OPCODE字段值所困惑,并想:“那我们如何区分指令呢?”然而,在第1.7节“指令格式”中,实际上使用了许多架构中使用的指令形式都具有两部分操作码;第一部分是指令高端的六位OPCODE字段,第二部分是称为XO的字段,它包含操作码的额外标识。它的大小和位置取决于指令格式。

2

2
你的第二个链接需要登录才能访问。 - George Hilliard
1
两个链接都失效了,404。 - Lennon McLean


2
最新的规格书是Power ISA,可以在这里获取。附录中有很多表格。
请注意,随着时间的推移,ISA 有些波动,因此最好找到您要模拟的特定核心的文档。同时需要注意,原文中有一个图片,如需翻译请提供相应图片。

2
许多其他资源早已失落,以下答案截至2020年仍然有效,并且有最好的持久性。
找到《PowerPC微处理器系列:程序员参考指南》的副本;Archive.org托管了1995年的此版本,同一文档也可在其他地方获取 - 搜索文本MPRPPCPRG-01以查找其他副本。
在该文档中,跳至以下任一部分:
  • 第44页,开始于“4.2 PowerPC指令集清单”章节,其中包括“按助记符排序的完整指令列表表33”;或
  • 第51页,“按操作码排序的完整指令列表表34”。
根据文件日期,这是PowerPC的1995年版本,即最初几代PowerMac,各种授权的Mac克隆机,IBM ThinkPad 850等所使用的版本。
这些表格很紧凑,仅提供编码信息(遵循IBM约定,第0位为最高有效位): Table 33开头 Table 34开头

1

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


不幸的是,我没有使用Mac电脑。虽然我有一台,但奇怪的是,我在那里找不到它。我需要安装Xcode或其他什么东西吗? - Delan Azabani
我猜你可能需要安装开发工具,因为它位于名为“Shark”的文件夹中,但我不确定。 - Ken

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接