if L = 0 then
MSR[48] <- (RS)[48] | (RS)[49]
- MSR[58] <- ((RS)[58] | (RS)[49]) & ¬(MSR[41] & MSR[3] & (¬(RS)[49]))
- MSR[59] <- ((RS)[59] | (RS)[49]) & ¬(MSR[41] & MSR[3] & (¬(RS)[49]))
+ MSR[58] <- (RS)[58] | (RS)[49]
+ MSR[59] <- (RS)[59] | (RS)[49]
MSR[32:40] <- (RS)[32:40]
MSR[42:47] <- (RS)[42:47]
MSR[49:50] <- (RS)[49:50]
Pseudo-code:
if L = 0 then
+ if (MSR[29:31] != 0b010) | ((RS)[29:31] != 0b000) then
+ MSR[29:31] <- (RS)[29:31]
MSR[48] <- (RS)[48] | (RS)[49]
- MSR[58] <- ((RS)[58] | (RS)[49]) & ¬(MSR[41] & MSR[3] & (¬(RS)[49]))
- MSR[59] <- ((RS)[59] | (RS)[49]) & ¬(MSR[41] & MSR[3] & (¬(RS)[49]))
+ MSR[58] <- (RS)[58] | (RS)[49]
+ MSR[59] <- (RS)[59] | (RS)[49]
MSR[0:2] <- (RS)[0:2]
- MSR[3:28] <- (RS)[3:28]
+ MSR[4:28] <- (RS)[4:28]
MSR[32:40] <- (RS)[32:40]
MSR[42:47] <- (RS)[42:47]
MSR[49:50] <- (RS)[49:50]