// 2 Stacks PUSH 0 1 // Counter 1-1000 PUSH 1 0 // Total JMP start :sumIfMultiple PUSH 1 s0 PUSH 1 3 MOD 1 JZ 1 add POP 1 PUSH 1 s0 PUSH 1 5 MOD 1 JZ 1 add POP 1 RET :add POP 1 PUSH 1 s0 ADD 1 RET :start CALL sumIfMultiple PUSH 0 1 ADD 0 PUSH 0 s0 PUSH 0 1000 SUB 0 JZ 0 end POP 0 JMP start :end WRITE s1