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