From 9f753e66c40b331000ec01bc46048236c3ef1b62 Mon Sep 17 00:00:00 2001 From: Timon Date: Mon, 10 Nov 2025 13:44:58 +0100 Subject: [PATCH 1/2] modified gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dc76150..04b92c0 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ Primer/ #Ignorej sictools sictools.jar #ignorej ukaze za sic/xe -Appendix_A_thru_C.pdf \ No newline at end of file +Appendix_A_thru_C.pdf +rek_sum.asm \ No newline at end of file From c305a8bdb4322de64ea338fb32730d094380eea2 Mon Sep 17 00:00:00 2001 From: Timon Date: Mon, 10 Nov 2025 15:11:43 +0100 Subject: [PATCH 2/2] Poskusu dokoncat rekurzijo, neki ne dela, dosti imam --- ass1/Rekurzija/FA.dev | 4 ++-- ass1/Rekurzija/fak.asm | 2 +- ass1/Rekurzija/rek.asm | 38 ++++++++++++++++++++++++++++---------- 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/ass1/Rekurzija/FA.dev b/ass1/Rekurzija/FA.dev index 2d79237..ab52712 100644 --- a/ass1/Rekurzija/FA.dev +++ b/ass1/Rekurzija/FA.dev @@ -1,4 +1,4 @@ -1 +10 5 -7 +6 0 diff --git a/ass1/Rekurzija/fak.asm b/ass1/Rekurzija/fak.asm index d28c81c..a6dbc50 100644 --- a/ass1/Rekurzija/fak.asm +++ b/ass1/Rekurzija/fak.asm @@ -1,5 +1,5 @@ prog START 0 - +JSUB sinit + JSUB sinit LDA #5 JSUB fa WD #1 diff --git a/ass1/Rekurzija/rek.asm b/ass1/Rekurzija/rek.asm index 5e41f0b..33b96d1 100644 --- a/ass1/Rekurzija/rek.asm +++ b/ass1/Rekurzija/rek.asm @@ -1,16 +1,34 @@ rek START 0 + JSUB sinit + LDT #10 -loop RD #0xFA - COMP #1 +loop JSUB read . Pretvorimo iz ASCII v stevilko + COMP #1 . Če je (A) <= 1 končamo, ker 0!=1!=1 JLT halt - JSUB fa - WD #1 - CLEAR A - J loop + JSUB fa . Sicer izračunamo (A)! + WD #1 . Zapišemo na std izhod + CLEAR B + CLEAR A + J loop . Gremo prebrat naslednji vhod -halt J halt +halt J halt -fa STL @stkp +read RD #0xFA + COMP #0xA + JEQ rExit . Če preberemo newline gremo na izhod + SUB #0x30 . Sicer iz ascii kode dobimo stevko + LDB tmp + MULR T, B . tmp *= 10 + ADDR A, B . tmp += A + STB tmp + J read + +rExit LDA tmp + LDB #0 + STB tmp + RSUB + +fa STL @stkp JSUB spush STB @stkp JSUB spush @@ -23,7 +41,7 @@ fa STL @stkp MULR B, A -faExit JSUB spop +faExit JSUB spop LDB @stkp JSUB spop LDL @stkp @@ -55,5 +73,5 @@ spop . stkp-- stkp WORD 0 stk RESW 1000 stkA WORD 0 - +tmp WORD 0 END rek \ No newline at end of file