计算机编程MIX MUL指令的艺术

我正在通过计算机编程艺术 (Knuth的)MIX指令。

我想了解MUL 1000指令如下:

 | + | 1 | 1 | 1 | 1 | 1 | [rA before] | + | 1 | 1 | 1 | 1 | 1 | [Cell 1000] | + | 0 | 1 | 2 | 3 | 4 | [rA after] | + | 5 | 4 | 3 | 2 | 1 | [rX After] 

有没有办法知道为什么rArX有这个价值?

请帮助!

书中特定页面的图像

MIX的乘法指令定义如下:

MUL ADDR,i(0:5) --> (rA,rX) := rA * memory[ADDR + rIi];

这意味着累加器寄存器rA和存储器地址ADDR + rIi (其中rIi是一个索引寄存器)的值相乘。 乘法结果存入累加器寄存器rA和扩展寄存器rX

还有以下内容:

MIX是一个混合二进制十进制计算机。

因此,计算是通过简单地使用如下的长乘法完成的,其中Cell 1000来自命令MUL 1000而不使用索引寄存器rIi 。 标识符Cell 1000表示存储1 1 1 1 1的地址,它不是该值本身。

 rA: 1 1 1 1 1 Cell 1000: * 1 1 1 1 1 ___________________ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ___________________ 0 1 2 3 4 5 4 3 2 1 | rA | rX | rA = 0 1 2 3 4 rX = 5 4 3 2 1