PowerPC opcode table?

I am interested in developing a PowerPC emulator for my own learning goals. I found many programming resources in the PowerPC assembly, but after quite some time I still couldn’t find the command / opcode mapping table. Of course I need opcodes to write an emulator. Where can I find him?

+3
source share
5 answers

I did a few more searches and found the documentation on the IBM website. This page is linked to three books of documentation, of which the first contains all the necessary information about PowerPC instructions.

At first I was embarrassed to see that many instructions have the same OPCODE field value and thought: "How will we distinguish between instructions then?". However, in Section 1.7, “Formats of Instructions,” many of the command forms that are used throughout the architecture actually have a two-coordinate operation code; the first part is the six-bit OPCODE field at the upper end of the instruction, and the second part is the XO field, which contains additional identification for the operation code. Its size and location vary depending on the format of the instruction.

+2
source

The latest specification is the Power ISA book, available here . Applications have many tables.

PPC opcode table

Note that ISA has changed over time, so it’s best to find a document for the specific kernel that you are going to emulate.

+2
source

If you are on a Mac, check / Library / Application Support / Shark / Helpers / PowerPC Help.app or select Services → ISA Help → PowerPC PowerPoint Guide.

+1
source

All Articles