diff --git a/ass1/bonus/dijkstra.asm b/ass1/bonus/dijkstra.asm index eac441b..9078d5a 100644 --- a/ass1/bonus/dijkstra.asm +++ b/ass1/bonus/dijkstra.asm @@ -28,8 +28,7 @@ FOR1 LDA PROV, X . nalozi potencialno razdaljo sosednjega vozlisca v okol JGT NEXT SET RMO X, S . S nastavi na ix vozlisca - trenutna iteracija -NEXT CLEAR T - TIX INPUT_V +NEXT TIX INPUT_V J FOR1 . ce ni vec vozlisc v okolici koncaj RMO S, A @@ -41,13 +40,26 @@ NEXT CLEAR T LDA #-2 STA PROV, X .nato dodaj vozlisca v okolico oz. posodobi razdalje obstojecih vozlisc v okolici - LDX #0 -FOR2 LDA INPUT_X, X + LDX #0 . stevec na 0 +FOR2 LDA INPUT_X, X . preveri ali je to povezava ki izvira v vozl. S COMPR A, S + JGT NEXT2 . ce ni preskoci + JLT NEXT2 + .sicer preveri ali je vozlisce neobiskano + LDA PROV, X + CMP #-1 JGT NEXT2 JLT NEXT2 + STA old_X . zacasno zamenjaj vrednost X + LDX INPUT_Y, X + LDA D, X .nalozi D[Y] v A + RMO A, T .zacasno shrani v T + LDA INPUT_W, X + ADDR T, A + STA prov, X . prov[Y] = D[S] + W + RMO A, X + - NEXT2 TIX INPUT_V J FOR2 . J ZA WHILE?! diff --git a/ass1/bonus/test.asm b/ass1/bonus/test.asm new file mode 100644 index 0000000..ecd1951 --- /dev/null +++ b/ass1/bonus/test.asm @@ -0,0 +1,6 @@ +test START 0 + LDA #-1 + LDS #2 + RMO S, A +halt J halt + END test