function w $factorial (w %n, w %acc) { @start jnz %n, @z, @nz @z ret %acc @nz %n_next =w sub %n, 1 %acc_next =w mul %n, %acc tail $factorial (w %n_next, w %acc) }