0%

《程序员升职记》14.绝对正能量

本楼层的任务是把inbox的每个东西都送进outbox,但是如果是负数,需要先去掉负号

思路分析:

  1. 从inbox取一个数
  2. 如果为负数,跳转到3
  3. 跳转到6(此时不为负数)
  4. 把手上的数字放入位置0(此时,手上数字与位置0数字相等)
  5. 把手上数字减去位置0数字(此时,手上数字为0)
  6. 把手上数字减去位置0数字(此时,手上数字与位置0数字相反)
  7. 输出
  8. 跳转到1,处理下一个数字

4、5、6三个步骤是为了对负数取反。

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

a:
INBOX
JUMPN b
JUMP c
b:
COPYTO 0
SUB 0
SUB 0
c:
OUTBOX
JUMP a