From 055d1a8c8d3c6370482ff46c343a0cf1d4cb29b5 Mon Sep 17 00:00:00 2001 From: Jaka Furlan Date: Wed, 22 Oct 2025 14:49:40 +0200 Subject: [PATCH 1/2] changed polySubrutine.asm --- ass1/polySubrutine.asm | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/ass1/polySubrutine.asm b/ass1/polySubrutine.asm index 0363c11..3376534 100644 --- a/ass1/polySubrutine.asm +++ b/ass1/polySubrutine.asm @@ -1,7 +1,22 @@ poly START 0 -startSubrutine LDA x0 .pristejemo x0 v A +start LDA x + STA arg1 + JSUB startSubrutine + LDA subRez + STA rez - LDB x +halt J halt + END start + +.subrutina za izračun tega polinoma v točki arg1 +startSubrutine STA regA + STB regB + STT regT + STT regS .shranimo registre + + LDA x0 .pristejemo x0 v A + + LDB arg1 LDS x LDT x1 MULR S, T @@ -22,11 +37,14 @@ startSubrutine LDA x0 .pristejemo x0 v A MULR S, T ADDR T, A - STA rez + STA subRez .shranimo rez -halt J halt - END start + LDA regA .obnovimo registre + LDB regB + LDT regT + LDS regS + RSUB .polinom x4 WORD 1 @@ -45,4 +63,10 @@ rez RESW 1 arg1 RESW 1 .rezultat subrutine -subRez RESW 1 \ No newline at end of file +subRez RESW 1 + +.registri +regA RESW 1 +regB RESW 1 +regT RESW 1 +regS RESW 1 From f59c93b7709c197317facc3cc6c2850da8b3e506 Mon Sep 17 00:00:00 2001 From: Jaka Furlan Date: Wed, 22 Oct 2025 15:56:33 +0200 Subject: [PATCH 2/2] changed polySubrutine.asm so it uses loops --- ass1/polySubrutine.asm | 44 +++++++++++++++++------------------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/ass1/polySubrutine.asm b/ass1/polySubrutine.asm index 3376534..af8de5d 100644 --- a/ass1/polySubrutine.asm +++ b/ass1/polySubrutine.asm @@ -9,33 +9,25 @@ halt J halt END start .subrutina za izračun tega polinoma v točki arg1 -startSubrutine STA regA +startSubrutine STA regA STB regB STT regT - STT regS .shranimo registre + STS regS .shranimo registre LDA x0 .pristejemo x0 v A - LDB arg1 - LDS x - LDT x1 - MULR S, T - ADDR T, A .pristejemo x0 * x - - LDT x2 - MULR B, S .izracunamo x^2 - MULR S, T - ADDR T, A - - LDT x3 - MULR B, S .izracunamo x^3 - MULR S, T - ADDR T, A - - LDT x4 - MULR B, S .izracunamo x^4 - MULR S, T - ADDR T, A + LDX #3 .odmik v arrayu + LDS arg1 +loop LDT x0, X .preberemo x_n + MULR S, T .izračunamo x_n * x^n + ADDR T, A .pristejemo v vsoto + LDT arg1 + MULR T, S .zmožimo naslednjo potenco + LDT #3 + ADDR T, X .povečamo odmik + LDT #13 + COMPR T, X + JGT loop STA subRez .shranimo rez @@ -47,11 +39,11 @@ startSubrutine STA regA RSUB .polinom -x4 WORD 1 -x3 WORD 2 -x2 WORD 3 -x1 WORD 4 x0 WORD 5 + WORD 4 + WORD 3 + WORD 2 + WORD 1 .tocka x WORD 2