LOC Data_Segment GREG @ n IS $1 f IS $2 test IS $3 BOS GREG #3000000000000000 Bottom Of Stack SP GREG 0 Stackpointer LOC #100 GREG @ Fak SUB SP,SP,16 push STO $0,SP,0 R"ucksprungadresse STO n,SP,8 n CMP test,n,1 Rekursionsende ? BP test,Rek nein: neuer Aufruf SET f,1 f=1 JMP Ende Rek SUB n,n,1 n=n-1 GO $0,Fak Rekursion LDO n,SP,8 alter Wert von n MUL f,f,n f = f*n Ende LDO $0,SP,0 R"ucksprungadresse ADD SP,SP,16 pop GO $0,$0,0 R"ucksprung Main SET SP,BOS Initialisierung SET n,7 Parameter n=7 GO $0,Fak TRAP 0,Halt,0