Как работает разделение в MIX?
Может кто-нибудь объяснить мне, как деление в MIX (от TAOCP от Knuth) работает на байтовой основе?
rA = |-| . . . .0|
rX = |+|1235|0|3|1|
Память 1000 содержит|-|0|0|0|2|0|
.
Когда вы выполняете операцию
DIV 1000
регистры становятся
rA = |+|0|617|?|?|
rX = |-|0|0|0|?|1|
Теперь я понимаю знакиrA
а такжеrX
, но в каком порядке байтыrAX
заполнены и какие делаются делаются?
Если DIV 1000 приводит к каждому биту, деленному на 2, то я ожидаю
rAX = |+|617|0|1|0|-|0|1|0|1|1|
в которомrA
содержит результаты деления иrX
остатки (заполнены с правой стороны).
Я, вероятно, что-то здесь упускаю, и Кнут, кажется, думает, что я должен сам это выяснить (отсюда вопросы 10-го уровня об этом, которые я тоже не получаю), но может ли кто-нибудь помочь мне здесь?