Custom Code/PowerPC ASM Cheatsheet

Instructions, registers and general info cheatsheet for PowerPC 32-bit Big Endian Assembly architecture used by the Wii U.

How to read this cheatsheet

 * If a right shift operation does not specify it is sign-fill, it is implicitly zero-fill by default
 * If a value is referred to simply as "value" without specifying bit-count, it is implicitly 32 bits (aka a WORD, integer or float depending on context)
 * C-style casts are used due to being shorter to fit in the small table cells code snippets, but treat them as static_cast
 * # = placeholder (either a number or a letter, a letter is a labelled placeholder for a number so it may be referenced to by other text)
 * r# = register (shorthand for GPR#)
 * f# = floating point register (shorthand for FPR#)
 * i# = immediate (the subscript numbers next to it is it's size in bits)
 * ui# = unsigned immediate (above is signed)
 * * = unsure of exact functionality

External Resources

 * http://class.ece.iastate.edu/arun/CprE281_F05/lab/labw10a/Labw10a_Files/PowerPC%20Assembly%20Quick%20Reference.htm
 * https://jimkatz.github.io/powerpc_for_dummies (very incomplete, has mistakes)
 * http://wiibrew.org/wiki/Assembler_Tutorial (also has missing instructions but way more accurate and better worded)
 * https://fail0verflow.com/media/files/ppc_750cl.pdf (official instruction set docs, hard to navigate/search)
 * http://personal.denison.edu/~bressoud/cs281-s07/ppc_instructions.pdf (similar to the above but stripped of all pages not documenting instructions, easier to search, missing instructions though)