# ((r0 << 64) + r2) % r1, store in r2
divmod2du r4, r0, r1, r2
```
+\newpage{}
# Double-Shift Left Doubleword
*Programmer's note:
similar to maddedu and divmod2du, dsld can be chained (using RC).*
+\newpage{}
+
# Double-Shift Right Doubleword
`dsrd RT,RA,RB,RC`
Pseudo-code:
- n <- (RB)[58:63] # Take lower 6-bits of RB for shift
+ n <- (RB)[58:63] # Take lower 6-bits for shift
v <- ROTL64((RA), 64-n) # Rotate RA 64-bit left by 64-n bits
mask <- MASK(n, 63) # 0's mask, set mask[n:63] to 1'
RT <- (v[0:63] & mask) | ((RC) & ¬mask) #
CR0 (if Rc=1)
-
\newpage{}
# VA2-Form