0%

《程序员升职记》9.十倍扩大装置

这一层的任务是把inbox里的每个数都乘以8,然后丢到outbox里面去。

乘以8,相当于x2x2x2,那么可以这样做:

  1. 先把输入放到地毯上0位置
  2. 拿手里的数字加上地毯上0位置的数字
  3. 把和放回地毯0位置
  4. 拿手里的数字加上地毯上0位置的数字
  5. 把和放回地毯0位置
  6. 拿手里的数字加上地毯上0位置的数字
  7. 输出

不要问我为啥这么傻,不用循环来做。因为没有计数器,无法终止循环,因此只能傻傻的一步步加。

1
2
3
4
5
6
7
8
9
10
11
12
-- HUMAN RESOURCE MACHINE PROGRAM --

a:
INBOX
COPYTO 0
ADD 0
COPYTO 0
ADD 0
COPYTO 0
ADD 0
OUTBOX
JUMP a