# Load Byte and Zero D-Form * lbz RT,D(RA) if RA = 0 then b <- 0 else b <- (RA) EA <- b + EXTS(D) RT <- [0]*56 || MEM(EA, 1) Special Registers Altered: None # Load Byte and Zero Indexed X-Form * lbzx RT,RA,RB if RA = 0 then b <- 0 else b <- (RA) EA <- b + (RB) RT <- [0] * 56 || MEM(EA, 1) Special Registers Altered: None # Load Byte and Zero with Update D-Form * lbzu RT,D(RA) EA <- (RA) + EXTS(D) RT <- [0] * 56 || MEM(EA, 1) RA <- EA Special Registers Altered: None # Load Byte and Zero with Update Indexed X-Form * lbzux RT,RA,RB EA <- (RA) + (RB) RT <- [0] * 56 || MEM(EA, 1) RA <- EA Special Registers Altered: None # Load Halfword and Zero D-Form * lhz RT,D(RA) if RA = 0 then b <- 0 else b <- (RA) EA <- b + EXTS(D) RT <- [0] * 48 || MEM(EA, 2) Special Registers Altered: None # Load Halfword and Zero Indexed X-Form * lhzx RT,RA,RB if RA = 0 then b <- 0 else b <- (RA) EA <- b + (RB) RT <- [0] * 48 || MEM(EA, 2) Special Registers Altered: None # Load Halfword and Zero with Update D-Form * lhzu RT,D(RA) EA <- (RA) + EXTS(D) RT <- [0] * 48 || MEM(EA, 2) RA <- EA Special Registers Altered: None # Load Halfword and Zero with Update Indexed X-Form * lhzux RT,RA,RB EA <- (RA) + (RB) RT <- [0] * 48 || MEM(EA, 2) RA <- EA Special Registers Altered: None # Load Halfword Algebraic D-Form * lha RT,D(RA) if RA = 0 then b <- 0 else b <- (RA) EA <- b + EXTS(D) RT <- EXTS(MEM(EA, 2)) Special Registers Altered: None # Load Halfword Algebraic Indexed X-form * lhax RT,RA,RB if RA = 0 then b <- 0 else b <- (RA) EA <- b + (RB) RT <- EXTS(MEM(EA, 2)) Special Registers Altered: None # Load Halfword Algebraic with Update D-Form * lhau RT,D(RA) EA <- (RA) + EXTS(D) RT <- EXTS(MEM(EA, 2)) RA <- EA Special Registers Altered: None # Load Halfword Algebraic with Update Indexed X-form * lhaux RT,RA,RB EA <- (RA) + (RB) RT <- EXTS(MEM(EA, 2)) RA <- EA Special Registers Altered: None # Load Word and Zero D-Form * lwz RT,D(RA) if RA = 0 then b <- 0 else b <- (RA) EA <- b + EXTS(D) RT <- [0] * 32 || MEM(EA, 4) Special Registers Altered: None # Load Word and Zero Indexed X-form * lwzx RT,RA,RB if RA = 0 then b <- 0 else b <- (RA) EA <- b + (RB) RT <- [0] * 32 || MEM(EA, 4) Special Registers Altered: None # Load Word and Zero with Update D-Form * lwzu RT,D(RA) EA <- (RA) + EXTS(D) RT <- [0]*32 || MEM(EA, 4) RA <- EA Special Registers Altered: None # Load Word and Zero with Update Indexed X-form * lwzux RT,RA,RB EA <- (RA) + (RB) RT <- [0] * 32 || MEM(EA, 4) RA <- EA Special Registers Altered: None # Load Word Algebraic D-Form * lwa RT,DS(RA) if RA = 0 then b <- 0 else b <- (RA) EA <- b + EXTS(DS || 0b00) RT <- EXTS(MEM(EA, 4)) Special Registers Altered: None # Load Word Algebraic Indexed X-form * lwax RT,RA,RB if RA = 0 then b <- 0 else b <- (RA) EA <- b + (RB) RT <- EXTS(MEM(EA, 4)) Special Registers Altered: None # Load Word Algebraic with Update Indexed X-form * lwaux RT,RA,RB EA <- (RA) + (RB) RT <- EXTS(MEM(EA, 4)) RA <- EA Special Registers Altered: None # Load Doubleword DS-Form * ld RT,DS(RA) if RA = 0 then b <- 0 else b <- (RA) EA <- b + EXTS(DS || 0b00) RT <- MEM(EA, 8) Special Registers Altered: None # Load Doubleword Indexed X-form * ldx RT,RA,RB if RA = 0 then b <- 0 else b <- (RA) EA <- b + (RB) RT <- MEM(EA, 8) Special Registers Altered: None # Load Doubleword with Update Indexed DS-Form * ldu RT,DS(RA) EA <- (RA) + EXTS(DS || 0b00) RT <- MEM(EA, 8) RA <- EA Special Registers Altered: None # Load Doubleword with Update Indexed X-form * ldux RT,RA,RB EA <- (RA) + (RB) RT <- MEM(EA, 8) RA <- EA Special Registers Altered: None # Load Quadword DQ-Form * lq RTp,DQ(RA) if RA = 0 then b <- 0 else b <- (RA) EA <- b + EXTS(DQ || 0b0000) RTp <- MEM(EA, 16) Special Registers Altered: None # Load Halfword Byte-Reverse Indexed X-form * lhbrx RT,RA,RB if RA = 0 then b <- 0 else b <- (RA) EA <- b + (RB) load_data <- MEM(EA, 2) RT <- [0]*48 || load_data[8:15] || load_data[0:7] Special Registers Altered: None # Load Word Byte-Reverse Indexed X-form * lwbrx RT,RA,RB if RA = 0 then b <- 0 else b <- (RA) EA <- b + (RB) load_data <- MEM(EA, 4) RT <- [0] * 32 || load_data[24:31] || load_data[16:23] || load_data[8:15] || load_data[0:7] Special Registers Altered: None # Load Doubleword Byte-Reverse Indexed X-form * ldbrx RT,RA,RB if RA = 0 then b <- 0 else b <- (RA) EA <- b + (RB) load_data <- MEM(EA, 8) RT <- load_data[56:63] || load_data[48:55] || load_data[40:47 || load_data[32:39] || load_data[24:31 || load_data[16:23] || load_data[8:15 || load_data[0:7] Special Registers Altered: None # Load Multiple Word DQ-Form * lmw RT,D(RA) if RA = 0 then b <- 0 else b <- (RA) EA <- b + EXTS(D) r <- RT do while r <= 31 GPR(r) <- [0]*32 || MEM(EA, 4) r <- r + 1 EA <- EA + 4