Franck Pommereau

added factorial asm example

set R0 5
push R0
set R1 @fact
call R1
pop R0
halt
############
fact:
set R0 1
cp SP R9
dec R9
dec R9
load R9 R1
set R2 @loop
set R3 @endloop
loop:
jz R1 R3
mul R0 R1
dec R1
jmp R2
endloop:
save R0 R9
ret
set R0 5
push R0
set R8 @fact
call R8
pop R0
halt
#############
fact:
cp SP R9
dec R9
dec R9
load R9 R0
set R8 @base
jz R0 R8
recurse:
dec R0
push R0
set R8 @fact
call R8
pop R1
cp SP R9
dec R9
dec R9
load R9 R0
mul R0 R1
set R8 @return
jmp R8
base:
set R0 1
return:
save R0 R9
ret