SPO_JakaFurlan/ass1/fact.lst
2025-12-08 12:08:50 +01:00

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