有人能向我解释一下MIX(来自Knuth的TAOCP)中如何按字节进行除法运算吗?
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
包含余数(从右侧填充)。
我可能遗漏了什么,Knuth似乎认为我应该自己能够理解它(因此级别10的问题也不能理解),但有人能帮我吗?