ReefVM/examples/variadic.reef
2025-10-05 21:29:30 -07:00

34 lines
355 B
Plaintext

; Variadic function that sums all arguments
MAKE_FUNCTION (x ...rest) #19
PUSH 5
PUSH 10
PUSH 15
PUSH 20
PUSH 4
PUSH 0
CALL
HALT
; Function body: sum x and all rest elements
LOAD x
STORE sum
PUSH 0
STORE i
LOAD i
LOAD rest
ARRAY_LEN
LT
JUMP_IF_FALSE #8
LOAD sum
LOAD rest
LOAD i
ARRAY_GET
ADD
STORE sum
LOAD i
PUSH 1
ADD
STORE i
JUMP #-18
LOAD sum
RETURN