Может кто-нибудь объяснить мне, как деление в 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-го уровня об этом, которые я тоже не получаю), но может кто-нибудь помочь мне здесь