KLJUC ldaa KAZ
beq NAZAC ;skoci na zacetek programa
ldaa TIME
inca
staa TIME
ldab #%11111110 ;caka priblizno 4 sekunde (ce je 1-krat v urniku)
cba
beq NAPAKA
NAZAC ldab _DPRA ;beri PIA
bmi KKON1 ;prvi bit je 1, skok na konec (ni zoba na kljucu) 
ldaa URA
beq KKON2 ;skoci na konec, ce se ni 1 (0 je ce se ni bilo brez
clr URA ;zoba na kljucu)
aslb ;poglej drugi bit 
bpl ENA
NIC ldaa #$00 ;shrani 0 (v akum. A) - NIC ni potrebno
jmp NAPREJ
ENA ldaa #$01 ;shrani 1 (v akum. A) 
NAPREJ ldab SMER
bne PRIM ;ce je SMER 0, naj vpisuje (VPIS) 
VPIS ldab KODA
aslb ;KODA se pomakne za eno mesto, da se pise na prazno mesto 
aba ;zapise A na to mesto (A+B v A)
staa KODA
clr TIME ;tukaj sta akum. prosta (ceprav nebi bilo potrebno)
ldaa KAZ ;poveca kazalec za 1 (koliko st. je vpisanih) 
inca
staa KAZ
ldab #$08  ;preveri, ce jih je ze 8 
cba
bne KKON2 ;ce jih se ni 8, naj skoci, sicer pa naj
ldaa KODA ;se primerja KODA s kodo izbranega kljuca in 
ldab #%11101101 ;ce je rezultat pravilen da SMER na 1 
cba
bne NAPAKA
inc SMER ;SMER da na 1, da se sedaj lahko preverja
rts
PRIM ldab KODA ;se preverja koda 
andb #$01
cba
bne NAPAKA
ldab KODA ;KODA se pomakne, da se lahko nato primerja naslednja
asrb ;vrednost brana iz kljuca 
stab KODA
clr TIME
ldaa KAZ
deca
staa KAZ
bne KKON2 ;ce je KAZ enak 0, naj odklene 
inc ODPRI ;ukaz za odpiranje in ga brise druga rutina
clr SMER ;se da SMER na 0 
rts
NAPAKA clr SMER
clr KAZ
rts
KKON1 inc URA ;da URA na 1
KKON2 rts