From 6033833d970bafa3e24045efe219935322eeb214 Mon Sep 17 00:00:00 2001 From: "aljazbrodar." Date: Thu, 13 Nov 2025 16:50:35 +0100 Subject: [PATCH] some progress on hw --- ass1/bonus/a.out | Bin 0 -> 48840 bytes ass1/bonus/dijkstra.asm | 65 +++++++++++++++++++++++++++++++++ ass1/bonus/dijkstra_osnova.cpp | 51 ++++++++++++++++++++++++++ ass1/bonus/shannon_tree.asm | 0 ass1/vaje/stack.asm | 53 +++++++++++++++++++++++++++ vaja2/vhod_izhod/echo.asm | 2 +- 6 files changed, 170 insertions(+), 1 deletion(-) create mode 100755 ass1/bonus/a.out create mode 100644 ass1/bonus/dijkstra.asm create mode 100644 ass1/bonus/dijkstra_osnova.cpp delete mode 100644 ass1/bonus/shannon_tree.asm create mode 100644 ass1/vaje/stack.asm diff --git a/ass1/bonus/a.out b/ass1/bonus/a.out new file mode 100755 index 0000000000000000000000000000000000000000..1c5668fc95320554456d4689380ae7a40ca913b4 GIT binary patch literal 48840 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 literal 0 HcmV?d00001 diff --git a/ass1/bonus/dijkstra.asm b/ass1/bonus/dijkstra.asm new file mode 100644 index 0000000..f55cad6 --- /dev/null +++ b/ass1/bonus/dijkstra.asm @@ -0,0 +1,65 @@ +DIJKSTRA START 0 + .zacetna inicializacija + LDA #0 + STA RAZDALJE, START + STA PROV, START + LDA #-1 + STA PREV, START +WHILE LDS #-1 + LDX #0 +FOR1 LDA PROV, X + CMP #0 + JLT NEXT + RMO S, A + CMP #-1 + JEQ SET + STA old_X + LDA PROV, X + RMO A, T + RMO S, X + LDA PROV, X + LDX old_X + COMPR A, T . A-> PROV[Y] T -> PROV[X] + JGT NEXT + JEQ NEXT +SET RMO X, S + + RMO S, A + COMP #-1 + JEQ HALT + + RMO S, X + LDA PROV, X + STA D, X + LDA #-2 + STA PROV, X + + LDX #0 +FOR2 + + TIX INPUT_E + JLT FOR2 + +NEXT TIX INPUT_V + J FOR1 +HALT J HALT + END DIJKSTRA + + +.vhodni parametri +INPUT_V = 9 +INPUT_E = 16 +INPUT_X RESW 100 +INPUT_Y RESW 100 +INPUT_W RESW 100 + +.pomozne spremenljivke +old_X RESW 1 +.najkrajse razdalje +D RESW 9 +.prejsnje vozlisce +PREV RESW 9 +.provisional razdalje (okolica), -2 = done, -1 neobiskan +PROV RESW 9 +.indeks zacetnega vozlisca +START WORD 0 diff --git a/ass1/bonus/dijkstra_osnova.cpp b/ass1/bonus/dijkstra_osnova.cpp new file mode 100644 index 0000000..15638cd --- /dev/null +++ b/ass1/bonus/dijkstra_osnova.cpp @@ -0,0 +1,51 @@ +#include +#include +#include +#include +#include +using namespace std; + +void print(vector tab) { + for (int el : tab) + cout << el << " "; + cout << endl; +} + +void dijkstra(vector>> &adjw, vector &d, vector &prev, vector &prov, int n) { + int start = 0; + prov[start] = 0; + d[start] = 0; + prev[start] = -1; + while (1) { + int x = -1; + for (int y = 0; y < n; y++) { + if (prov[y] > -1) { + if (x == -1 || prov[y] < prov[x]) { + x = y; + } + } + } + if (x == -1) + break; + d[x] = prov[x]; + prov[x] = -2; + for (auto[y, w] : adjw[x]) { + if (prov[y] == -1 || prov[y] > -1 && d[x] + w < prov[y]) { + prov[y] = d[x] + w; + prev[y] = x; + } + } + } +} + +int main() { + vector>> adjw = {{{1, 8}, {2, 12}}, {{2, 13}, {3, 25}}, {{6, 21}, {3, 14}}, {{6, 12}, {8, 16}, {7, 12}, {5, 8}, {4, 20}}, {{1, 9}, {5, 19}}, {{7, 11}}, {{8, 11}}, {{8, 9}}, {}}; + int n = adjw.size(); + vector d(n, -1); + vector prev(n, -1); + vector prov(n, -1); + dijkstra(adjw, d, prev, prov, n); + print(d); + print(prev); +} + diff --git a/ass1/bonus/shannon_tree.asm b/ass1/bonus/shannon_tree.asm deleted file mode 100644 index e69de29..0000000 diff --git a/ass1/vaje/stack.asm b/ass1/vaje/stack.asm new file mode 100644 index 0000000..7ee11c9 --- /dev/null +++ b/ass1/vaje/stack.asm @@ -0,0 +1,53 @@ +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 + RSUB + +exit JSUB stackpop + +LDB @stackptr + JSUB stackpop + +LDL @stackptr + RSUB + +oldvalue WORD 0 +stackptr WORD 0 +stack RESW 1000 diff --git a/vaja2/vhod_izhod/echo.asm b/vaja2/vhod_izhod/echo.asm index 743684d..193d922 100644 --- a/vaja2/vhod_izhod/echo.asm +++ b/vaja2/vhod_izhod/echo.asm @@ -67,7 +67,7 @@ num LDX digits_ix STA len SUB #1 STA digits_ix - .izpis v tabele v obratnem vrstnem redu + .izpis tabele v obratnem vrstnem redu loop_num LDX digits_ix LDCH digits, X ADD #48 .stevke v ascii se zacnejo pri 48