; Variadic function that sums all arguments MAKE_FUNCTION (x ...rest) .sum_body PUSH 5 PUSH 10 PUSH 15 PUSH 20 PUSH 4 PUSH 0 CALL HALT .sum_body: LOAD x STORE sum PUSH 0 STORE i .loop_start: LOAD i LOAD rest ARRAY_LEN LT JUMP_IF_FALSE .loop_end LOAD sum LOAD rest LOAD i ARRAY_GET ADD STORE sum LOAD i PUSH 1 ADD STORE i JUMP .loop_start .loop_end: LOAD sum RETURN