¿Cómo funciona la división en MIX?
¿Puede alguien explicarme cómo funciona la división en MIX (de TAOCP por Knuth) en función de byte a byte?
rA = |-| . . . .0|
rX = |+|1235|0|3|1|
La ubicación de memoria 1000 contiene|-|0|0|0|2|0|
.
Cuando ejecutas la operación
DIV 1000
los registros se convierten en
rA = |+|0|617|?|?|
rX = |-|0|0|0|?|1|
Ahora entiendo las señales enrA
yrX
, pero en qué orden están los bytes derAX
rellenado y qué divisiones se realizan?
Si DIV 1000 conduce a cada bit dividido por 2, entonces esperaría
rAX = |+|617|0|1|0|-|0|1|0|1|1|
en el cualrA
contiene los resultados de la división yrX
los restos (rellenos desde el lado derecho).
Probablemente me estoy perdiendo algo aquí, y Knuth parece pensar que debería ser capaz de resolverlo yo mismo (de ahí las preguntas de nivel 10 al respecto, que tampoco entiendo), pero ¿alguien podría ayudarme aquí?