.text

__u2s_swap_: ; a b
lit 1        ; a b 1
ror          ; a b 1<<31
tuck2        ; a 1<<31 b 1<<31
sub          ; a 1<<31 b-1<<31  
rsu3         ; b-1<<31 a 1<<31
sub          ; b-1<<31 a-1<<31
exit

__utsa_variadic_:
r>
; Store fp on return stack
@fp
>r
>r
; yp contains number of args.
@yp
copy1
fp--
!loc 0
bp test
loop:
swap
fp--
!loc 0
tos--
test:
copy1
bcp loop
drop
exit

__utsa_va_args:
r>
r>
tuck2
>r
>r
tos--
copy1
@
sub
swap
!
exit

_RHW:
rhw
exit

_RBP:
rbp
exit