0
$\begingroup$

When I study the Arithmetic Unit, there is the below information:

enter image description here

there I have some questions:

  1. Why the multiplier must store in the MQ and the product must divide into the high part and low part?
  2. Why the quotients must store in the MQ? why the multiplier and quotients can not store in the ACC?
$\endgroup$
2
  • $\begingroup$ "Why [...] the product must divide into the high part and low part?" If you are multiplying two $b$-bit numbers, then your result is potentially $2b$-bit large. $\endgroup$
    – dkaeae
    Commented Jul 18, 2019 at 7:35
  • $\begingroup$ thanks, I understand you. but the other question is why multiplier must store in the MQ? $\endgroup$
    – aircraft
    Commented Jul 19, 2019 at 3:52

1 Answer 1

1
$\begingroup$

The issue here is that the product is often twice as big as the accumulator. So only half can fit into the accumulator. So the rest must go into another register. Even the 286 does it this way. You can only store the low part in the AX register. The rest will be returned in the DX register. Except in this case, Acc is the high part of the result and the low part stores in MQ. Acc is not wide enough to hold the entire result. I don't know why they put the low part of the answer in MQ rather than Acc.

On divisions, this works similarly. On older x86 machines, when you divide, the quotient is placed in AX and the modulus is returned in DX.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.