Files
xenia-rs/migration/project-root/ppc-manual/forms/X.md
MechaCat02 e6d43a23ac chore: add migration/ bundle for cross-machine setup
Bundles state that lives OUTSIDE the xenia-rs repo so a fresh clone on
another machine can be brought up to identical configuration via
migration/setup.sh:

  - claude-memory/             ~/.claude/projects/-home-fabi-RE-Project-Sylpheed/memory/
                               (103 files, 1.1 MB - MEMORY.md + every
                                project_xenia_rs_*.md from audits
                                addis_signext through audit-058)
  - project-root/dot-claude/   <project-root>/.claude/settings.json
                               (Stop hook + permissions)
  - project-root/ppc-manual/   <project-root>/ppc-manual/
                               (PowerPC reference docs, 397 files, 3.7 MB)
  - project-root/run-canary.sh <project-root>/run-canary.sh
  - README.md                  Human-readable setup checklist
  - setup.sh                   Idempotent installer (also reclones
                               xenia-canary at pinned HEAD 6de80dffe)
  - MANIFEST.md                Per-file mapping + per-file-not-bundled
                               restoration recipe

Excluded from bundle (not shippable via git):
  - Sylpheed ISO (7.8 GB; copyright; manual copy required)
  - sylpheed.db (395 MB; regenerable from XEX via analysis tooling)
  - target/ build artifacts (rebuild on target)
  - audit-runs probe firehoses (.log/.stdout/.stderr ~11 GB; rerun if needed)
  - audit-runs memory dumps (.bin ~4.5 GB; rerun audit-026/027/029 if needed)
  - xenia-canary checkout (setup.sh reclones from
    git.mc02.dev/fabi/Xenia-Canary.git at HEAD 6de80dffe)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 21:38:38 +02:00

10 KiB
Raw Blame History

Form X — X — Extended (10-bit extended opcode)

Bit Layout

Bits Field Meaning
05 OPCD primary opcode
610 RT/FRT/VRT destination
1115 RA/FRA/VRA source A
1620 RB/FRB/VRB source B
2130 XO extended opcode (10 bits)
31 Rc record-form flag

Instructions Using This Form

Mnemonic Opcode Group Description
cmp 0x7c000000 integer Compare
tw 0x7c000008 branch Trap Word
lvsl 0x7c00000c vmx Load Vector for Shift Left Indexed
lvebx 0x7c00000e memory Load Vector Element Byte Indexed
mfcr 0x7c000026 control Move from Condition Register
lwarx 0x7c000028 memory Load Word and Reserve Indexed
ldx 0x7c00002a memory Load Doubleword Indexed
lwzx 0x7c00002e memory Load Word and Zero Indexed
slwx 0x7c000030 integer Shift Left Word
cntlzwx 0x7c000034 integer Count Leading Zeros Word
sldx 0x7c000036 integer Shift Left Doubleword
andx 0x7c000038 integer AND
cmpl 0x7c000040 integer Compare Logical
lvsr 0x7c00004c vmx Load Vector for Shift Right Indexed
lvehx 0x7c00004e memory Load Vector Element Half Word Indexed
ldux 0x7c00006a memory Load Doubleword with Update Indexed
dcbst 0x7c00006c memory Data Cache Block Store
lwzux 0x7c00006e memory Load Word and Zero with Update Indexed
cntlzdx 0x7c000074 integer Count Leading Zeros Doubleword
andcx 0x7c000078 integer AND with Complement
td 0x7c000088 branch Trap Doubleword
lvewx 0x7c00008e memory Load Vector Element Word Indexed
mfmsr 0x7c0000a6 control Move from Machine State Register
ldarx 0x7c0000a8 memory Load Doubleword and Reserve Indexed
dcbf 0x7c0000ac memory Data Cache Block Flush
lbzx 0x7c0000ae memory Load Byte and Zero Indexed
lvx 0x7c0000ce memory Load Vector Indexed
lbzux 0x7c0000ee memory Load Byte and Zero with Update Indexed
norx 0x7c0000f8 integer NOR
stvebx 0x7c00010e memory Store Vector Element Byte Indexed
mtmsr 0x7c000124 control Move to Machine State Register
stdx 0x7c00012a memory Store Doubleword Indexed
stwcx 0x7c00012d memory Store Word Conditional Indexed
stwx 0x7c00012e memory Store Word Indexed
stvehx 0x7c00014e memory Store Vector Element Half Word Indexed
mtmsrd 0x7c000164 control Move to Machine State Register Doubleword
stdux 0x7c00016a memory Store Doubleword with Update Indexed
stwux 0x7c00016e memory Store Word with Update Indexed
stvewx 0x7c00018e memory Store Vector Element Word Indexed
stdcx 0x7c0001ad memory Store Doubleword Conditional Indexed
stbx 0x7c0001ae memory Store Byte Indexed
stvx 0x7c0001ce memory Store Vector Indexed
dcbtst 0x7c0001ec memory Data Cache Block Touch for Store
stbux 0x7c0001ee memory Store Byte with Update Indexed
dcbt 0x7c00022c memory Data Cache Block Touch
lhzx 0x7c00022e memory Load Half Word and Zero Indexed
eqvx 0x7c000238 integer Equivalent
lhzux 0x7c00026e memory Load Half Word and Zero with Update Indexed
xorx 0x7c000278 integer XOR
lwax 0x7c0002aa memory Load Word Algebraic Indexed
lhax 0x7c0002ae memory Load Half Word Algebraic Indexed
lvxl 0x7c0002ce memory Load Vector Indexed LRU
lwaux 0x7c0002ea memory Load Word Algebraic with Update Indexed
lhaux 0x7c0002ee memory Load Half Word Algebraic with Update Indexed
sthx 0x7c00032e memory Store Half Word Indexed
orcx 0x7c000338 integer OR with Complement
sthux 0x7c00036e memory Store Half Word with Update Indexed
orx 0x7c000378 integer OR
dcbi 0x7c0003ac memory Data Cache Block Invalidate
nandx 0x7c0003b8 integer NAND
stvxl 0x7c0003ce memory Store Vector Indexed LRU
mcrxr 0x7c000400 control Move to Condition Register from XER
lvlx 0x7c00040e memory Load Vector Left Indexed
ldbrx 0x7c000428 memory Load Doubleword Byte-Reverse Indexed
lswx 0x7c00042a memory Load String Word Indexed
lwbrx 0x7c00042c memory Load Word Byte-Reverse Indexed
lfsx 0x7c00042e memory Load Floating-Point Single Indexed
srwx 0x7c000430 integer Shift Right Word
srdx 0x7c000436 integer Shift Right Doubleword
lvrx 0x7c00044e memory Load Vector Right Indexed
lfsux 0x7c00046e memory Load Floating-Point Single with Update Indexed
lswi 0x7c0004aa memory Load String Word Immediate
sync 0x7c0004ac integer Synchronize
lfdx 0x7c0004ae memory Load Floating-Point Double Indexed
lfdux 0x7c0004ee memory Load Floating-Point Double with Update Indexed
stvlx 0x7c00050e memory Store Vector Left Indexed
stdbrx 0x7c000528 memory Store Doubleword Byte-Reverse Indexed
stswx 0x7c00052a memory Store String Word Indexed
stwbrx 0x7c00052c memory Store Word Byte-Reverse Indexed
stfsx 0x7c00052e memory Store Floating-Point Single Indexed
stvrx 0x7c00054e memory Store Vector Right Indexed
stfsux 0x7c00056e memory Store Floating-Point Single with Update Indexed
stswi 0x7c0005aa memory Store String Word Immediate
stfdx 0x7c0005ae memory Store Floating-Point Double Indexed
stfdux 0x7c0005ee memory Store Floating-Point Double with Update Indexed
lvlxl 0x7c00060e memory Load Vector Left Indexed LRU
lhbrx 0x7c00062c memory Load Half Word Byte-Reverse Indexed
srawx 0x7c000630 integer Shift Right Algebraic Word
sradx 0x7c000634 integer Shift Right Algebraic Doubleword
lvrxl 0x7c00064e memory Load Vector Right Indexed LRU
srawix 0x7c000670 integer Shift Right Algebraic Word Immediate
eieio 0x7c0006ac integer Enforce In-Order Execution of I/O
stvlxl 0x7c00070e memory Store Vector Left Indexed LRU
sthbrx 0x7c00072c memory Store Half Word Byte-Reverse Indexed
extshx 0x7c000734 integer Extend Sign Half Word
stvrxl 0x7c00074e memory Store Vector Right Indexed LRU
extsbx 0x7c000774 integer Extend Sign Byte
icbi 0x7c0007ac memory Instruction Cache Block Invalidate
stfiwx 0x7c0007ae memory Store Floating-Point as Integer Word Indexed
extswx 0x7c0007b4 integer Extend Sign Word
fcmpu 0xfc000000 fpu Floating Compare Unordered
frspx 0xfc000018 fpu Floating Round to Single
fctiwx 0xfc00001c fpu Floating Convert to Integer Word
fctiwzx 0xfc00001e fpu Floating Convert to Integer Word with Round Toward Zero
fcmpo 0xfc000040 fpu Floating Compare Ordered
mtfsb1x 0xfc00004c control Move to FPSCR Bit 1
fnegx 0xfc000050 fpu Floating Negate
mcrfs 0xfc000080 control Move to Condition Register from FPSCR
mtfsb0x 0xfc00008c control Move to FPSCR Bit 0
fmrx 0xfc000090 fpu Floating Move Register
mtfsfix 0xfc00010c control Move to FPSCR Field Immediate
fnabsx 0xfc000110 fpu Floating Negative Absolute Value
fabsx 0xfc000210 fpu Floating Absolute Value
mffsx 0xfc00048e control Move from FPSCR
fctidx 0xfc00065c fpu Floating Convert to Integer Doubleword
fctidzx 0xfc00065e fpu Floating Convert to Integer Doubleword with Round Toward Zero
fcfidx 0xfc00069c fpu Floating Convert From Integer Doubleword