上一楼中,说移位寄存器非常重要,它的功能就是控制比较位(定义为:正确密码与输入端作比较的一位)

如图,移位寄存器(图中不是上述的完整版)的输出端在分别反相后,连接了一排竖线。比较位即低电平的竖线所在位(如果不明白可以看图)
竖线上附着的火把即代表正确密码,图中从右到左依次为2、3、3,则正确密码就是233。
C1、C2、C3即上文“正确密码的数据线”,各自连接一个同或门,作为一个输入。(同或门的另一个输入是键盘对应位)
具体原理:
比较密码时,由移位寄存器负责控制哪一位进行比较,可见图中的结构只允许一个有效比较位(其原因是移位寄存器中只有一位是高电平)这个有效位会给C(1~n)一个状态,比如图中,正在比较的是第1位密码,第1位竖线上火把位置是2,则C的状态是(LOW,HIGH,LOW),代表这一位的输入就是2。
如果此时输入端输入了2(即输入端的状态是(LOW,HIGH,LOW))则同或门全部输出高电平(LOW=LOW,HIGH=HIGH,LOW=LOW,全部满足),经过一个与门就可以判断该位密码正确,密码比较完成后会进一位,进行下一位比较。