SEGMENT 43786
SIGNAL MULTIPLIER
문제
- READ VALUES FROM IN.A AND IN.B
- MULTIPLY THE VALUES
- WRITE THE PRODUCT TO OUT
- IN.A 와 IN.B 의 입력값을 읽는다.
- 두 값을 곱셈한다.
- 곱셈한 결과를 OUT 으로 출력한다.
풀이 1: 4 NODES
- 1541 CYCLES / 4 NODES / 21 INSTR
B를 A회 덧셈하는 단순한 방법으로 곱셈을 구현한다.
@0
@1
MOV ANY, RIGHT
@2
^:
MOV UP, ACC
SWP
MOV LEFT, ACC
MOV ACC, DOWN
LOOP:
JEZ ^
SWP
MOV ACC, DOWN
SWP
SUB 1
JMP LOOP
@3
@4
@5
MOV UP, ACC
LOOP:
JEZ END
SWP
ADD UP
SWP
SUB 1
JMP LOOP
END:
SWP
MOV ACC, DOWN
@6
@7
MOV ANY, DOWN
@8