dsm 51, assembler часы
хочу сделать часы для dsm-51, но столкнулся с такой проблемой, что время идет, все работает, но хочу сделать редактирование времени через клавиатуру (секвенциальную, честно не помню как называется, прикрепил фото)
т.е. нажатием стрелочки вверх изменяется время на 1 значение выше, нажатие стрелочки вправо/влево, меняет объект для редактирования (часы, минуты, секунды)
прикрепил все файлы и надеюсь на помощь 
CSDB equ 38H
CSDS equ 30H
SEG0 equ P1.6
DISP equ 79h
SS equ 78h
MM equ 77h
HH equ 76h
LIC equ 75h
HIC equ 74h
KEYS equ 70h
RUN bit 2Fh.7
;============== RESTART
org 0
ljmp start
org 0Bh
mov TH0, #232
setb F0
reti
org 100h
start:
mov DPTR, #wzory
mov HH, #14
mov MM, #39
mov SS, #28
acall t2d
;mov DISP+6, #16
mov R7, #1
mov R0, #DISP
mov IE, #0
clr TR0
mov TMOD, #01000000b
mov TH0, #232
mov LIC, #176
mov HIC, #5
setb RUN
setb ET0
setb EA
setb TR0
mainLoop:
jnb F0, mainLoop
clr F0
mov R1, #CSDB
mov A, @R0
setb SEG0
movx @R1, A
mov R1, #CSDS
mov A, R7
movx @R1, A
clr SEG0
jnb P3.5, noKey
orl KEYS, A
noKey:
inc R0
rl A
mov R7, A
jnb ACC.7, ACCnie7
mov R7, #1
mov R0, #DISP
mov DISP+6, KEYS
mov A, KEYS
cjne A, KEYS+1, movKeys
cjne A, KEYS+2, movKeys
cjne A, KEYS+3, servKeys
sjmp movKeys
servKeys:
jz movKeys
cjne A, #2, nieEsc
clr RUN
nieEsc:
cjne A, #1, nieEnter
setb RUN
setb P1.7
nieEnter:
jb RUN, movKeys
clr P1.7
movKeys:
mov KEYS+3, KEYS+2
mov KEYS+2, KEYS+1
mov KEYS+1, KEYS
mov KEYS, #0
ACCnie7:
djnz LIC, mainLoop
djnz HIC, mainLoop
mov LIC, #176
mov HIC, #5
jnb RUN, updTime
inc SS
mov R1, #SS
cjne @R1, #60, updTIME
mov SS, #0
inc MM
mov R1, #MM
cjne @R1, #60, updTIME
mov MM, #0
inc HH
mov R1, #HH
cjne @R1, #24, updTIME
mov HH, #0
updTIME:
acall t2d
sjmp mainLoop
t2d:
mov A, SS
mov B, #10
div AB
movc A, @A+DPTR
mov DISP+1, A
mov A, B
movc A, @A+DPTR
mov DISP, A
mov A, MM
mov B, #10
div AB
movc A, @A+DPTR
mov DISP+3, A
mov A, B
movc A, @A+DPTR
mov DISP+2, A
mov A, HH
mov B, #10
div AB
movc A, @A+DPTR
mov DISP+5, A
mov A, B
movc A, @A+DPTR
mov DISP+4, A
ret
wzory:
db 00111111b, 00000110b, 01011011b, 01001111b
db 01100110b, 01101101b, 01111101b, 00000111b
db 01111111b, 01101111b, 01110111b, 01111100b
db 01011000b, 01011110b, 01111001b, 01110001b
end