第14年 最大值室

输出两个数中较大的那个,相等则输出任意一个。

前三行仍然是为了合并才放上去的。

如果04行输入是a(05行保存到寄存器0),06行输入是b。当(b-a)<0,即a>b的时候08行跳转02行,此时复制寄存器0的a并输出。反之,即b>=a的时候,09行会先把(b-a)+a=b,就是还原b(因为没有保存),然后10行跳转03行直接输出。

第12年 四十倍扩大器

40倍可以考虑是5个8倍,即:40=5*8=(4+1)*(2*2*2)=4*(2*2*2)+(2*2*2)。

02和03行乘2,04和05行乘2,06和07行乘2,此时8倍。

由于要凑4+1个,所以应该存一份8倍的数值(08行),不用存两份(不用存寄存器0),因为可以用寄存器1的值乘2后再放回寄存器0。

08和09行乘2,10和11行乘2,已经8*4了,12行再把之前放在寄存器1的8倍加上就刚好8*5了。