prog START 0 JSUB stackinit LDA #5 JSUB fakulteta_r LDA #10 JSUB fakulteta_r HALT J HALT END prog fakulteta_r +STL @stackptr .link reg. na sklad JSUB stackpush +STA @stackptr .parameter na sklad JSUB stackpush SUB #1 .pripravimo podproblem COMP #1 .zaustavitveni pogoj JEQ exit .ce je z.p. izpolnjen RSUB, v A je vrednost podproblema JSUB fakulteta_r exit JSUB stackpop RMO A, B .premakni vrednost podroblema v B +LDA @stackptr .nalozi parameter klicujoče funkcije ("starša") MULR B, A .pomnozi, shrani v A JSUB stackpop +LDL @stackptr RSUB stackinit STA oldvalue CLEAR A LDA #stack STA stackptr CLEAR A LDA oldvalue RSUB stackpush STA oldvalue CLEAR A LDA stackptr ADD #3 STA stackptr CLEAR A LDA oldvalue RSUB stackpop STA oldvalue CLEAR A LDA stackptr SUB #3 STA stackptr CLEAR A LDA oldvalue RSUB oldvalue WORD 0 stackptr WORD 0 stack RESW 1000