Specifications

CONSTRUCTION
www.electronicsforu.com
a portal dedicated to electronics enthusiasts
Address Opcode Mnemonics Comments
Count subroutine
00B6 31 FF 80 LXI SP, 80FF
00B9 3A D0 80 LDA 80D0 Load contents of mem loc 80D0
00BC FE 80 CPI 80 If overflow occurs, generate
00BE C2 C4 00 JNZ 00C4 continuous beep
00C1 D3 C0 JNZ 00C4
00C3 76 HLT
00C4 3E 1A MVI A, 1A If there is no overflow,
00C6 26 40 MIV H, 40 load data byte for displaying count
00C8 CD 70 00 CALL count mode indicator ‘
[’ and
KEYBOARD glowing LED D4
00CB 0E 04 MIV C, 04 Increment the count of the key
00CD 7E MOV A, M number (candidate code) pressed
00CE 3C INR A Increment Acc
00CF 77 MOV M, A Move mem (HL) to Acc.
00D0 FE 0A CPI OA
00D2 C2 EB 00 JNZ 00EB
00D5 36 00 MVI M, 0 If it becomes 10, make mem
(HL)=0
00D7 23 INX H
00D8 0D DCR C
00D9 C2 CD 00 JNZ 00CD
00DC 2B DCX H
00DD 36 0D MVI M, 0D
00DF 3E 80 MVI A, 80 If overflow occurs, store 80 to
00E1 D3 C0 OUT C0 memory locatio 80D0 and display
00E3 32 D0 80 STA 80D0
’. Also generate a
00E6 3E 1D MVI A, 1D continuous beep
00E8 D3 C1 OUT C1
00EA 76 HLT
00ED D3 C1 OUT C1 Success display ‘
00EF FB EI
Address Opcode Mnemonics Comments
00F0 76 HLT
Password data
00F9 04 See text
00FA 10
00FB 20
Memory clear subroutine
0100 21 00 80 LXIH 8000
0103 36 00 MVI M, 00 Load ‘00’ to RAM areas
0105 2C INR L
0106 C2 03 01 JNZ 0103
0109 3E 80 MVI A, 80 After clearing, generate
010B D3 C0 OUT CO a beep and display ‘
:
010D CD 20 01 CALL DELAY
0110 3E 1C MVI A, 1C
0112 D3 C1 OUT C1
0114 AF XRA A
0115 D3 C0 OUT C0
0117 FB EI
0118 76 HLT
0.8 sec Delay Subroutine
0120 F5 PUSH PSW
0121 C5 PUSH B
0122 01 FF FF LXI B, FFFF
0125 0B DCX B
0126 78 MOV A, B
0127 B1 ORA C
0128 C2 25 01 JNZ 0125
012B C1 POP B
012C F1 POP PSW
012D C9 RET
64