IF VARegSensePDataIA
THEN {
PageReg ← MDTD[PDataI, 32, 0, 24, PageReg, 24, 0, 24];
BlockReg ← MDTW[PDataI, 32, 24, 4, BlockReg, 4, 0, 4]
};
TRUSTED {
cpd: SwitchMWord ← DESCRIPTOR[CAMPage];
ncpd: SwitchMWord ← DESCRIPTOR[nCAMPage];
cbd: SwitchMWord ← DESCRIPTOR[CAMBlock];
ncbd: SwitchMWord ← DESCRIPTOR[nCAMBlock];
ps: SwitchTypes.Strength ← IF PageDriveCAMBitsA THEN driveStrong ELSE none;
bs: SwitchTypes.Strength ← IF BlockDriveCAMBitsA THEN driveStrong ELSE none;
SCDTS[PageReg, 24, 0, 24, cpd, 24, 0, 24, [[ps, L], [ps, H]]];
SCDTS[PageReg, 24, 0, 24, ncpd, 24, 0, 24, [[ps, H], [ps, L]]];
SCWTS[BlockReg, 4, 0, 4, cbd, 4, 0, 4, [[bs, L], [bs, H]]];
SCWTS[BlockReg, 4, 0, 4, ncbd, 4, 0, 4, [[bs, H], [bs, L]]];
};