Files
xenia-rs/migration/project-root/ppc-manual/forms/D.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

3.7 KiB
Raw Permalink Blame History

Form D — D — Displacement (load/store and immediate ALU)

Bit Layout

Bits Field Meaning
05 OPCD primary opcode
610 RT destination GPR (or RS when storing)
1115 RA source GPR (0 ⇒ literal 0 for RA0 forms)
1631 D/SI/UI 16-bit signed or unsigned immediate

Instructions Using This Form

Mnemonic Opcode Group Description
tdi 0x08000000 branch Trap Doubleword Immediate
twi 0x0c000000 branch Trap Word Immediate
mulli 0x1c000000 integer Multiply Low Immediate
subficx 0x20000000 integer Subtract From Immediate Carrying
cmpli 0x28000000 integer Compare Logical Immediate
cmpi 0x2c000000 integer Compare Immediate
addic 0x30000000 integer Add Immediate Carrying
addic. 0x34000000 integer Add Immediate Carrying and Record
addi 0x38000000 integer Add Immediate
addis 0x3c000000 integer Add Immediate Shifted
ori 0x60000000 integer OR Immediate
oris 0x64000000 integer OR Immediate Shifted
xori 0x68000000 integer XOR Immediate
xoris 0x6c000000 integer XOR Immediate Shifted
andi. 0x70000000 integer AND Immediate
andis. 0x74000000 integer AND Immediate Shifted
lwz 0x80000000 memory Load Word and Zero
lwzu 0x84000000 memory Load Word and Zero with Update
lbz 0x88000000 memory Load Byte and Zero
lbzu 0x8c000000 memory Load Byte and Zero with Update
stw 0x90000000 memory Store Word
stwu 0x94000000 memory Store Word with Update
stb 0x98000000 memory Store Byte
stbu 0x9c000000 memory Store Byte with Update
lhz 0xa0000000 memory Load Half Word and Zero
lhzu 0xa4000000 memory Load Half Word and Zero with Update
lha 0xa8000000 memory Load Half Word Algebraic
lhau 0xac000000 memory Load Half Word Algebraic with Update
sth 0xb0000000 memory Store Half Word
sthu 0xb4000000 memory Store Half Word with Update
lmw 0xb8000000 memory Load Multiple Word
stmw 0xbc000000 memory Store Multiple Word
lfs 0xc0000000 memory Load Floating-Point Single
lfsu 0xc4000000 memory Load Floating-Point Single with Update
lfd 0xc8000000 memory Load Floating-Point Double
lfdu 0xcc000000 memory Load Floating-Point Double with Update
stfs 0xd0000000 memory Store Floating-Point Single
stfsu 0xd4000000 memory Store Floating-Point Single with Update
stfd 0xd8000000 memory Store Floating-Point Double
stfdu 0xdc000000 memory Store Floating-Point Double with Update