66 lines
2.5 KiB
Text
66 lines
2.5 KiB
Text
00000 prog START 0
|
|
00000 4B2043 JSUB sinit
|
|
00003 010005 LDA #5
|
|
00006 4B2003 JSUB fact
|
|
|
|
|
|
|
|
00009 3F2FFD halt J halt
|
|
|
|
. fakulteta
|
|
0000C 290001 fact COMP #1
|
|
0000F 372006 JGT rec
|
|
00012 010001 LDA #1 . base case
|
|
00015 4F0000 RSUB
|
|
|
|
00018 16205E rec STL @stkp
|
|
0001B 4B2037 JSUB spush
|
|
0001E 0E2058 STA @stkp
|
|
00021 4B2031 JSUB spush
|
|
00024 7A2052 STB @stkp
|
|
00027 4B202B JSUB spush
|
|
|
|
0002A AC03 RMO A,B . shrani n v B
|
|
0002C 1D0001 SUB #1 . n-1
|
|
0002F 4B2FDA JSUB fact . fact(n-1)
|
|
00032 9830 MULR B,A . n * fact(n-1)
|
|
|
|
00034 4B2030 JSUB spop
|
|
00037 6A203F LDB @stkp
|
|
0003A 4B202A JSUB spop
|
|
. LDA @stkp da ne povozimo odgovora?
|
|
0003D 4B2027 JSUB spop
|
|
00040 0A2036 LDL @stkp
|
|
|
|
|
|
|
|
00043 4F0000 RSUB
|
|
|
|
|
|
. rutine za sklad
|
|
00046 0F2033 sinit STA stkA
|
|
00049 012033 LDA #stkRESW . inicializiraj stkp
|
|
0004C 0F202A STA stkp
|
|
0004F 03202A LDA stkA
|
|
00052 4F0000 RSUB
|
|
|
|
00055 0F2024 spush STA stkA
|
|
00058 03201E LDA stkp . poveca stkp za 3
|
|
0005B 190003 ADD #3
|
|
0005E 0F2018 STA stkp
|
|
00061 032018 LDA stkA
|
|
00064 4F0000 RSUB
|
|
|
|
00067 0F2012 spop STA stkA
|
|
0006A 03200C LDA stkp . zmanjsa stkp za 3
|
|
0006D 1D0003 SUB #3
|
|
00070 0F2006 STA stkp
|
|
00073 032006 LDA stkA
|
|
00076 4F0000 RSUB
|
|
|
|
. podatki za sklad
|
|
00079 000000 stkp WORD 0
|
|
0007C 000000 stkA WORD 0
|
|
0007F 00....00 stkRESW RESW 1000
|
|
|
|
00C37 END prog
|