dijk START 0
            .zacetna inicializacija, d=0
            LDA #0
            LDX ZAC
            STA D, X
            STA PROV, X
            .neskoncna while zanka 
WHILE       LDS minus_ena  . S = -1, hrani vozlisce ki imam min razdaljo v okolici
            LDX #0         . stevec = 0
FOR1        RMO X, A
            STA old_X      . shrani vrednost X-a
            LDA PROV, X    . nalozi potencialno razdaljo sosednjega vozlisca v okolici
            COMP minus_ena
            JEQ NEXT       . ce ze obiskano=-2 ali neobiskano=-1 preskoci vozlisce
            COMP minus_dva
            JEQ NEXT
            RMO S, A       . sicer S v A
            COMP minus_ena . ce S se ni nastavljen ga nastavi prvic
            JEQ SET        . sicer poglej ali ima trenutno vozl. manjso pot. razdaljo prov[X] < prov[S]
            LDA PROV, X    . nalozi p. razdaljo tren. vozl.
            RMO A, T       . shrani jo v T reg.
            RMO S, X       . premakni trenutni ix min. vozl. v X za ix naslavljanje
            LDA PROV, X    . nalozi trenutno min razdaljo
            LDX old_X      . obnovi X, vrednost stevca zanke FOR1
            COMPR T, A     . primerjaj vrednosti tj. ce razdalja ni krajsa preskoci, sicer SET
            JEQ NEXT 
            JGT NEXT
SET         RMO X, S       . S nastavi na ix vozlisca - trenutna iteracija
NEXT        RMO X, A
            ADD #3
            RMO A, X
            COMP #table_len
            JLT FOR1

            . ce ni vec vozlisc v okolici koncaj
            RMO S, A
            COMP minus_ena
            JEQ HALT
            .sicer p. razdaljo shrani kot dejansko in oznaci vozlisce kot obiskano
            RMO S, X
            LDA PROV, X
            STA D, X
            LDA minus_dva
            STA PROV, X

            .nato dodaj vozlisca v okolico oz. posodobi razdalje obstojecih vozlisc v okolici
            LDX #0 . stevec na 0 
FOR2        RMO X, A
            STA old_X
            LDA INPUT_X, X  . preveri ali je to povezava ki izvira v vozl. S
            MUL #3 . pomnozi s 3 da lahko primerjamo s S, ki steje ix WORDa
            COMPR A, S
            JGT NEXT2 . ce ni preskoci
            JLT NEXT2           
            .sicer preveri ali je sosednje vozlisce ze obiskano
            LDA INPUT_Y, X . nalozi ix soseda
            MUL #3
            RMO A, X . premakni v X
            LDA PROV, X . nalozi sosedovo potencialno razdaljo
            LDX old_X . obnovi X
            COMP minus_dva . poglej ce je ze obiskan
            JEQ NEXT2 
            COMP minus_ena .ce se ni obiskan, nastavi vrednost p. razdalje
            JEQ SET2
            .sicer preveri da je nova p. razdalja manjsa od trenutne
            . D[S] + w < PROV[Y]
            RMO S, X
            LDA D, X
            LDX old_X
            ADD INPUT_W, X
            RMO A, T
            LDA INPUT_Y, X
            MUL #3
            RMO A, X
            LDA PROV, X
            LDX old_X
            COMPR A, T
            JEQ NEXT2
            JLT NEXT2

SET2        RMO S, X
            LDA D, X
            LDX old_X
            ADD INPUT_W, X
            RMO A, T
            LDA INPUT_Y, X
            MUL #3
            RMO A, X
            RMO T, A
            STA PROV, X
            LDX old_X
NEXT2       RMO X, A
            ADD #3
            RMO A, X
            COMP #table_len2
            JLT FOR2
            
            J WHILE

HALT J HALT
    END dijk


.vhodni parametri
INPUT_V WORD 9
INPUT_E WORD 16
INPUT_X WORD 0
        WORD 0 
        WORD 1
        WORD 1
        WORD 2
        WORD 2
        WORD 3
        WORD 3
        WORD 3
        WORD 3
        WORD 3
        WORD 4
        WORD 4
        WORD 5
        WORD 6
        WORD 7
INPUT_Y WORD 1
        WORD 2
        WORD 2
        WORD 3
        WORD 6
        WORD 3
        WORD 6
        WORD 8
        WORD 7
        WORD 5
        WORD 4
        WORD 1
        WORD 5
        WORD 7
        WORD 8
        WORD 8
INPUT_W WORD 8 
        WORD 12
        WORD 13
        WORD 25
        WORD 21
        WORD 14
        WORD 12
        WORD 16
        WORD 12
        WORD 8
        WORD 20
        WORD 9
        WORD 19
        WORD 11
        WORD 11
        WORD 9
last EQU * 

.pomozne spremenljivke
old_X RESW 1
old_S RESW 1
minus_ena WORD X'FFFFFF'
minus_dva WORD X'FFFFFE'
.najkrajse razdalje
D WORD -1
  WORD -1
  WORD -1
  WORD -1
  WORD -1
  WORD -1
  WORD -1
  WORD -1
  WORD -1
.provisional razdalje (okolica), -2 = done, -1 neobiskan
PROV  WORD -1
      WORD -1
      WORD -1
      WORD -1
      WORD -1
      WORD -1
      WORD -1
      WORD -1
      WORD -1
last_in EQU * 
table_len EQU last_in - PROV
table_len2 EQU last - INPUT_W
.indeks zacetnega vozlisca * 3
ZAC WORD 0
