| jnb row3,$                                                     ;wait till switch is released  mov a,#7                                                      ;since switch pressed is 7, Acc =7  setb c                                                            ;Indicating switch has been pressed  setb column1  ret    r3_check_keypad: setb column1                                             ;Error while debouncing so return mov a,#0 clr c ret  c4_check_keypad:                                             //column 1, row4
 mov r7,#00h    deb4_check_keypad:                                       ;debounce row 4 switch jb row4,r4_check_keypad  djnz r7,deb4_check_keypad   jnb row4,$                                                ;wait till switch is released
 mov a,#10                                               ;since switch pressed is 10, Acc =10 setb c                                                       ;Indicating switch has been pressed setb column1 ret    r4_check_keypad: setb column1                                       ;Error while debouncing so return mov a,#0 clr c ret  c5_check_keypad:                                            //column 2, row 1
 mov r7,#00h    deb5_check_keypad:                                        ;debounce row 1 switch jb row1,r5_check_keypad  djnz r7,deb5_check_keypad   jnb row1,$                                                 ;wait till switch is released
 mov a,#2                                                  ;since switch pressed is 2, Acc =2 setb c                                                        ;Indicating switch has been pressed setb column2   ret   r5_check_keypad: setb column2                                          ;Error while debouncing so return mov a,#0 clr c ret  c6_check_keypad:                                          //column 2, row2
 mov r7,#00h    deb6_check_keypad:                                    ;debounce row 2 switch jb row2,r6_check_keypad  djnz r7,deb6_check_keypad   jnb row2,$                                            ;wait till switch is released
 mov a,#5                                             ;since switch pressed is 5, Acc =5 setb c                                                   ;Indicating switch has been pressed setb column2 ret   r6_check_keypad: setb column2                                   ;Error while debouncing so return mov a,#0  clr c  ret  c7_check_keypad:                                   //column 2, row3
 mov r7,#00h    deb7_check_keypad:                              ;debounce row 3 switch jb row3,r7_check_keypad  djnz r7,deb7_check_keypad   jnb row3,$                                          ;wait till switch is released
 mov a,#8                                           ;since switch pressed is 8, Acc =8 setb c                                                 ;Indicating switch has been pressed setb column2 ret   r7_check_keypad: setb column2                                    ;Error while debouncing so return mov a,#0 clr c ret   c8_check_keypad:                                     //column 2, row4
 mov r7,#00h    deb8_check_keypad:                                ;debounce row 4 switch jb row4,r8_check_keypad  djnz r7,deb4_check_keypad   jnb row4,$                                          ;wait till switch is released
 mov a,#11                                         ;since switch pressed is 11, Acc =11 setb c                                                 ;Indicating switch has been pressed setb column2 ret   r8_check_keypad: setb column2                                    ;Error while debouncing so return mov a,#0 clr c ret  c9_check_keypad:                                    //column 3, row 1
 mov r7,#00h    deb9_check_keypad:                              ;debounce row 1 switch jb row1,r9_check_keypad  djnz r7,deb9_check_keypad   jnb row1,$                                         ;wait till switch is released
 mov a,#3                                           ;since switch pressed is 3, Acc =3 setb c                                                 ;Indicating switch has been pressed setb column3 ret   r9_check_keypad: setb column3                                    ;Error while debouncing so return mov a,#0 clr c ret  c10_check_keypad:                                   //column 3, row2
 mov r7,#00h    deb10_check_keypad:                             ;debounce row 2 switch jb row2,r10_check_keypad  djnz r7,deb10_check_keypad   jnb row2,$                                          ;wait till switch is released
 mov a,#6                                           ;since switch pressed is 6, Acc =6 setb c                                      |