repo update
This commit is contained in:
parent
5591686517
commit
c56b6c92db
25 changed files with 194 additions and 252 deletions
36
ass1/rekurzija/rekurzija.log
Normal file
36
ass1/rekurzija/rekurzija.log
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
***** Section <default> *****
|
||||
Stats: size=3292 blocks=3292 symbols=20 literals=0 relocations=5
|
||||
Blocks
|
||||
name start size #ins #dir #sto
|
||||
<default> 00000 00CDC 101 8 1
|
||||
Symbols
|
||||
name hex dec scope kind type description
|
||||
HALT 000059 89 local relative code label
|
||||
device 00011B 283 local relative data label
|
||||
evaluate 00001C 28 local relative code label
|
||||
exit 0000C4 196 local relative code label
|
||||
fakulteta_r 0000A4 164 local relative code label
|
||||
izpis 00005C 92 local relative code label
|
||||
loop 000006 6 local relative code label
|
||||
loop_e 000029 41 local relative code label
|
||||
loop_i 00005F 95 local relative code label
|
||||
loop_ii 000085 133 local relative code label
|
||||
oldvalue 00011E 286 local relative data label
|
||||
prog 000000 0 exported relative code label
|
||||
stack 000124 292 local relative data label
|
||||
stackinit 0000D9 217 local relative code label
|
||||
stackpop 000102 258 local relative code label
|
||||
stackptr 000121 289 local relative data label
|
||||
stackpush 0000EC 236 local relative code label
|
||||
stevke 00011C 284 local relative data label
|
||||
stevke_r 00011D 285 local relative data label
|
||||
temp 000118 280 local relative data label
|
||||
Literals
|
||||
label definition
|
||||
Relocations
|
||||
address length flag symbol
|
||||
00013 5
|
||||
000A5 5
|
||||
000AC 5
|
||||
000CA 5
|
||||
000D3 5
|
||||
132
ass1/rekurzija/rekurzija.lst
Normal file
132
ass1/rekurzija/rekurzija.lst
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
00000 prog START 0
|
||||
. inicializiraj sklad
|
||||
00000 4B20D6 JSUB stackinit
|
||||
. beri stevke do newline (\n = 10), nato evalviraj stevilo
|
||||
00003 050001 LDX #1 . zacnemo z 1 za lazje preverjanje pogoja v loop_e
|
||||
00006 DB2112 loop RD device . FA.dev
|
||||
00009 29000A COMP #10 . newline
|
||||
0000C 33200D JEQ evaluate
|
||||
0000F 1D0030 SUB #48 . ASCII koda za 0
|
||||
00012 5790011C +STCH stevke,X
|
||||
00016 2D0FFF TIX #-1 . primerjava TIX tu nima pomena
|
||||
00019 3F2FEA J loop
|
||||
0001C 750000 evaluate LDT #0
|
||||
. S hrani potence st. deset
|
||||
0001F 6D0001 LDS #1
|
||||
. zmanjsaj X za 1
|
||||
00022 AC10 RMO X,A
|
||||
00024 1D0001 SUB #1
|
||||
00027 AC01 RMO A,X
|
||||
. nalozi stevko, pomnozi s S, shrani oz. pristej rez. v T
|
||||
00029 53A0F0 loop_e LDCH stevke,X
|
||||
0002C 9840 MULR S,A
|
||||
0002E 9005 ADDR A,T
|
||||
. povecaj potenco
|
||||
00030 AC40 RMO S,A
|
||||
00032 21000A MUL #10
|
||||
00035 AC04 RMO A,S
|
||||
. zmanjsaj X
|
||||
00037 AC10 RMO X,A
|
||||
00039 1D0001 SUB #1
|
||||
0003C AC01 RMO A,X
|
||||
. ce je X = 0, si prebral vse stevke
|
||||
0003E 290000 COMP #0
|
||||
00041 372FE5 JGT loop_e
|
||||
. ce je rezultat nic koncaj sicer izracunaj fakulteto in preberi naslednjo vrstico
|
||||
00044 AC50 RMO T,A
|
||||
00046 290000 COMP #0
|
||||
00049 33200D JEQ HALT
|
||||
0004C 4B2055 JSUB fakulteta_r
|
||||
. izpisi rezultat na standard output
|
||||
0004F B440 CLEAR S
|
||||
00051 4B2008 JSUB izpis
|
||||
00054 B400 CLEAR A
|
||||
00056 3F2FA7 J prog
|
||||
00059 3F2FFD HALT J HALT
|
||||
0005C END prog
|
||||
|
||||
0005C 050001 izpis LDX #1
|
||||
0005F AC04 loop_i RMO A,S . kopiraj stevilo v S
|
||||
. pridobi stevko, z mod 10
|
||||
00061 25000A DIV #10
|
||||
00064 21000A MUL #10
|
||||
00067 AC05 RMO A,T . odstevanec gre v T
|
||||
00069 AC40 RMO S,A
|
||||
0006B 9450 SUBR T,A
|
||||
0006D 57A0AD STCH stevke_r,X
|
||||
00070 2D0FFF TIX #-1 . primerjava nima pomena
|
||||
00073 AC40 RMO S,A
|
||||
00075 25000A DIV #10
|
||||
00078 290000 COMP #0
|
||||
0007B 372FE1 JGT loop_i
|
||||
. izpis iz pomnilnika
|
||||
0007E AC10 RMO X,A
|
||||
00080 1D0001 SUB #1
|
||||
00083 AC01 RMO A,X
|
||||
00085 53A095 loop_ii LDCH stevke_r,X
|
||||
00088 190030 ADD #48 . pretvori v ascii
|
||||
0008B DD0001 WD #1
|
||||
0008E AC10 RMO X,A
|
||||
00090 1D0001 SUB #1
|
||||
00093 AC01 RMO A,X
|
||||
00095 290000 COMP #0
|
||||
00098 372FEA JGT loop_ii
|
||||
. izpis newline
|
||||
0009B 01000A LDA #10
|
||||
0009E DD0001 WD #1
|
||||
000A1 4F0000 RSUB
|
||||
|
||||
000A4 16100121 fakulteta_r +STL @stackptr . link reg. na sklad
|
||||
000A8 4B2041 JSUB stackpush
|
||||
000AB 0E100121 +STA @stackptr . parameter na sklad
|
||||
000AF 4B203A JSUB stackpush
|
||||
|
||||
000B2 290001 COMP #1 . robni primer n = 1
|
||||
000B5 33200C JEQ exit
|
||||
000B8 1D0001 SUB #1 . pripravimo podproblem
|
||||
000BB 290001 COMP #1 . zaustavitveni pogoj
|
||||
000BE 332003 JEQ exit . ce je z. p. izpolnjen RSUB, v A je vrednost podproblema
|
||||
000C1 4B2FE0 JSUB fakulteta_r
|
||||
|
||||
000C4 AC03 exit RMO A,B . premakni vrednost podroblema v B
|
||||
000C6 4B2039 JSUB stackpop
|
||||
000C9 02100121 +LDA @stackptr . nalozi parameter klicujoce funkcije ("starša")
|
||||
000CD 9830 MULR B,A . pomnozi, shrani v A
|
||||
000CF 4B2030 JSUB stackpop
|
||||
000D2 0A100121 +LDL @stackptr
|
||||
000D6 4F0000 RSUB
|
||||
|
||||
000D9 0F2042 stackinit STA oldvalue
|
||||
000DC B400 CLEAR A
|
||||
000DE 012043 LDA #stack
|
||||
000E1 0F203D STA stackptr
|
||||
000E4 B400 CLEAR A
|
||||
000E6 032035 LDA oldvalue
|
||||
000E9 4F0000 RSUB
|
||||
|
||||
000EC 0F202F stackpush STA oldvalue
|
||||
000EF B400 CLEAR A
|
||||
000F1 03202D LDA stackptr
|
||||
000F4 190003 ADD #3
|
||||
000F7 0F2027 STA stackptr
|
||||
000FA B400 CLEAR A
|
||||
000FC 03201F LDA oldvalue
|
||||
000FF 4F0000 RSUB
|
||||
|
||||
00102 0F2019 stackpop STA oldvalue
|
||||
00105 B400 CLEAR A
|
||||
00107 032017 LDA stackptr
|
||||
0010A 1D0003 SUB #3
|
||||
0010D 0F2011 STA stackptr
|
||||
00110 B400 CLEAR A
|
||||
00112 032009 LDA oldvalue
|
||||
00115 4F0000 RSUB
|
||||
|
||||
00118 000000 temp WORD 0
|
||||
0011B FA device BYTE X'FA'
|
||||
0011C 64 stevke BYTE 100
|
||||
0011D 64 stevke_r BYTE 100
|
||||
|
||||
0011E 000000 oldvalue WORD 0
|
||||
00121 000000 stackptr WORD 0
|
||||
00124 00....00 stack RESW 1000
|
||||
17
ass1/rekurzija/rekurzija.obj
Normal file
17
ass1/rekurzija/rekurzija.obj
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
Hprog 000000000CDC
|
||||
T0000001E4B20D6050001DB211229000A33200D1D00305790011C2D0FFF3F2FEA7500
|
||||
T00001E1E006D0001AC101D0001AC0153A0F098409005AC4021000AAC04AC101D0001
|
||||
T00003C1EAC01290000372FE5AC5029000033200D4B2055B4404B2008B4003F2FA73F
|
||||
T00005A1E2FFD050001AC0425000A21000AAC05AC40945057A0AD2D0FFFAC4025000A
|
||||
T0000781E290000372FE1AC101D0001AC0153A095190030DD0001AC101D0001AC0129
|
||||
T0000961E0000372FEA01000ADD00014F0000161001214B20410E1001214B203A2900
|
||||
T0000B41E0133200C1D00012900013320034B2FE0AC034B20390210012198304B2030
|
||||
T0000D21E0A1001214F00000F2042B4000120430F203DB4000320354F00000F202FB4
|
||||
T0000F01E0003202D1900030F2027B40003201F4F00000F2019B4000320171D00030F
|
||||
T00010E162011B4000320094F0000000000FA6464000000000000
|
||||
M00001305
|
||||
M0000A505
|
||||
M0000AC05
|
||||
M0000CA05
|
||||
M0000D305
|
||||
E000000
|
||||
Loading…
Add table
Add a link
Reference in a new issue