From 414325bf95a8f700175bb336034ec73ddbd9ba9b Mon Sep 17 00:00:00 2001 From: "aljazbrodar." Date: Fri, 7 Nov 2025 18:31:30 +0100 Subject: [PATCH] rekurzija manjka se izpis --- vaja2/sklad/FA.dev | 3 +++ vaja2/sklad/rekurzija.asm | 12 ++++++++-- vaja2/sklad/stack.asm | 50 +++++++++++++++++++++++++++++++++++++++ vaja2/sklad/stack.log | 17 +++++++++++++ vaja2/sklad/stack.lst | 33 ++++++++++++++++++++++++++ vaja2/sklad/stack.obj | 4 ++++ vaja2/sklad/test.asm | 16 +++++++++++++ 7 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 vaja2/sklad/FA.dev create mode 100644 vaja2/sklad/stack.asm create mode 100644 vaja2/sklad/stack.log create mode 100644 vaja2/sklad/stack.lst create mode 100644 vaja2/sklad/stack.obj create mode 100644 vaja2/sklad/test.asm diff --git a/vaja2/sklad/FA.dev b/vaja2/sklad/FA.dev new file mode 100644 index 0000000..d3860de --- /dev/null +++ b/vaja2/sklad/FA.dev @@ -0,0 +1,3 @@ +5 +10 +0 diff --git a/vaja2/sklad/rekurzija.asm b/vaja2/sklad/rekurzija.asm index e5d9e30..50cce3d 100644 --- a/vaja2/sklad/rekurzija.asm +++ b/vaja2/sklad/rekurzija.asm @@ -36,7 +36,15 @@ loop_e LDCH stevke, X RMO T, A COMP #0 JEQ HALT - JSUB fakulteta_r + JSUB stackinit + JSUB fakulteta_r + . JSUB izpis + STA temp + CLEAR A + CLEAR T + CLEAR S + CLEAR X + J prog HALT J HALT END prog @@ -84,7 +92,7 @@ stackpop STA oldvalue CLEAR A LDA oldvalue RSUB - +temp WORD 0 device BYTE X'FA' stevke BYTE 100 diff --git a/vaja2/sklad/stack.asm b/vaja2/sklad/stack.asm new file mode 100644 index 0000000..10536a1 --- /dev/null +++ b/vaja2/sklad/stack.asm @@ -0,0 +1,50 @@ +prog START 0 + +JSUB stackinit + + LDA #5 + +STA @stackptr + JSUB stackpush + + LDA #6 + +STA @stackptr + JSUB stackpush + + JSUB stackpop + +LDA @stackptr + + JSUB stackpop + +LDA @stackptr + +HALT J HALT + END prog + +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 diff --git a/vaja2/sklad/stack.log b/vaja2/sklad/stack.log new file mode 100644 index 0000000..d9f8cde --- /dev/null +++ b/vaja2/sklad/stack.log @@ -0,0 +1,17 @@ +***** Section ***** +Stats: size=3031 blocks=3031 symbols=6 literals=0 relocations=0 +Blocks + name start size #ins #dir #sto + 00000 00BD7 9 4 1 +Symbols + name hex dec scope kind type description + HALT 000003 3 local relative code label + oldvalue 000019 25 local relative data label + prog 000000 0 exported relative code label + stack 00001F 31 local relative data label + stackinit 000006 6 local relative code label + stackptr 00001C 28 local relative data label +Literals + label definition +Relocations + address length flag symbol diff --git a/vaja2/sklad/stack.lst b/vaja2/sklad/stack.lst new file mode 100644 index 0000000..f43395a --- /dev/null +++ b/vaja2/sklad/stack.lst @@ -0,0 +1,33 @@ +00000 prog START 0 +00000 4B2003 JSUB stackinit + +00003 3F2FFD HALT J HALT +00006 END prog + + + + + + + + +00006 0F2010 stackinit STA oldvalue +00009 B400 CLEAR A +0000B 012011 LDA #stack +0000E 0F200B STA stackptr +00011 B400 CLEAR A +00013 032003 LDA oldvalue +00016 4F0000 RSUB + + + . stackpush + . RSUB + + + . stackpop + . RSUB + + +00019 000000 oldvalue WORD 0 +0001C 000000 stackptr WORD 0 +0001F 00....00 stack RESW 1000 diff --git a/vaja2/sklad/stack.obj b/vaja2/sklad/stack.obj new file mode 100644 index 0000000..5f5ef5f --- /dev/null +++ b/vaja2/sklad/stack.obj @@ -0,0 +1,4 @@ +Hprog 000000000BD7 +T0000001E4B20033F2FFD0F2010B4000120110F200BB4000320034F00000000000000 +T00001E0100 +E000000 diff --git a/vaja2/sklad/test.asm b/vaja2/sklad/test.asm new file mode 100644 index 0000000..69e78c7 --- /dev/null +++ b/vaja2/sklad/test.asm @@ -0,0 +1,16 @@ +test START 0 + RD device + RD device + + RD device + RD device + RD device + + RD device + RD device + RD device + RD device +halt J halt + END test + +device WORD X'FA'