The immediate operands passed to multiply and divide instructions are all zero-extended to 16 or 32 bits. This patch fixes this problem. While at that, I found another patch that we'd failed to contribute before, that fixes a case of mova that is mishandled by the current code. Ok to install?