(1) zero top 32 bits for 32-bit unsigned ops; 32-bit value can be accidentally(?) sign-extended by the compiler/assembler. (2) fix return value for mod's that cause traps
but that's optimization. 8-)