$crystal = 1000000
Config Lcd = 16 * 2
 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.3 , Db6 = Porta.2 , Db7 = Porta.1 , Rs = Porta.5 , E = Porta.6
Config Kbd = Portb , Debounce = 50 , Delay = 200
 Do
  H:
  Cls
   Cursor On
  Locate 1 , 1
  Lcd "0"
 Dim Shiftt As Byte
 Dim A As Byte
 Dim S As Integer
 Dim C As Integer
 Dim S1 As Single
 Dim Amal As String * 1
 Dim F As Integer
 Dim G As Integer
 Dim D As Byte
 Dim G1 As Long
 Dim K As Single
 S1 = 0
 C = 1
 F = 1
 G1 = 0
 Mm:
 Do
   A = Getkbd()
           Select Case A
                 Case 0
                        Locate 1 , C
                         Lcd "1"
                        C = C + 1
                       S = 1
                    S1 = S1 * 10
                 Case 1
                        Locate 1 , C
                        Lcd "4"
                        C = C + 1
                        S = 4
                        S1 = S1 * 10
                        S1 = S1 + S
                 Case 2
                        Locate 1 , C
                         Lcd "7"
                        C = C + 1
                       S = 7
                            S1 = S1 * 10
                           S1 = S1 + S
                 Case 3
                         C = C - 1
                        Locate 1 , C
                        Lcd " "
                        S1 = S1 \ 10
                         If C = 1 Then
                         Locate 1 , 1
                         Lcd "0"
                         End If
                 Case 4
                        Locate 1 , C
                         Lcd "2"
                        C = C + 1
                       S = 2
                       S1 = S1 * 10
                       S1 = S1 + S
                 Case 5
                        Locate 1 , C
                         Lcd "5"
                        C = C + 1
                       S = 5
                          S1 = S1 * 10
                           S1 = S1 + S
                 Case 6
                        Locate 1 , C
                          Lcd "8"
                        C = C + 1
                        S = 8
                        S1 = S1 * 10
                       S1 = S1 + S
                 Case 7
                        If C = 1 Then
                         Goto H
                        End If
                        Locate 1 , C
                          Lcd "0"
                        C = C + 1
                       S = 0
                       S1 = S1 * 10
                       S1 = S1 + S
                 Case 8
                        Locate 1 , C
                         Lcd "3"
                        C = C + 1
                        S = 3
                       S1 = S1 * 10
                       S1 = S1 + S
                 Case 9
                        Locate 1 , C
                           Lcd "6"
                        C = C + 1
                        S = 6
                        S1 = S1 * 10
                       S1 = S1 + S
                 Case 10
                        Locate 1 , C
                           Lcd "9"
                        C = C + 1
                       S = 9
                         S1 = S1 * 10
                        S1 = S1 + S
                 Case 11
                        If C > 1 Then
                        Locate 1 , C
                        Lcd "+"
                        C = C + 1
                        Amal = "+"
                        Exit Do
                        End If
                        Goto H
                 Case 12
                        If C > 1 Then
                        Locate 1 , C
                        Lcd "-"
                        Amal = "-"
                        C = C + 1
                        Exit Do
                        End If
                        Goto H
                 Case 13
                        If C > 1 Then
                        Locate 1 , C
                        Lcd "*"
                        Amal = "*"
                        C = C + 1
                        Exit Do
                        End If
                        Goto H
                 Case 14
                        If C > 1 Then
                        Locate 1 , C
                        Lcd "/"
                        C = C + 1
                        Amal = "/"
                        Exit Do
                        End If
                        Goto H
                   Case 15
                          Do
                            Shiftt = Getkbd()
                            Select Case Shiftt
                                          Case 0
                                             K = Sin(s1)
                                             Locate 1 , 13
                                             Lcd "sin"
                                             Locate 2 , 1
                                             Lcd K
                                          Case 1
                                             K = Cos(s1)
                                             Locate 1 , 13
                                             Lcd "cos"
                                             Locate 2 , 1
                                             Lcd K
                                          Case 2
                                              K = Tan(s1)
                                              Locate 1 , 13
                                              Lcd "tan"
                                              Locate 2 , 1
                                              Lcd K
                                          Case 4
                                              K = Atn(s1)
                                              Locate 1 , 13
                                              Lcd "atn"
                                              Locate 2 , 1
                                              Lcd K
                                          Case 5
                                              K = Log(s1)
                                              Locate 1 , 13
                                              Lcd "log"
                                              Locate 2 , 1
                                              Lcd K
                                          Case 6
                                               K = Exp(s1)
                                               Locate 1 , 13
                                               Lcd "exp"
                                               Locate 2 , 1
                                               Lcd K
                                          Case 8
                                               K = Hex(s1)
                                               Locate 1 , 13
                                               Lcd "hex"
                                               Locate 2 , 1
                                               Lcd K
                                          Case 9
                                                Locate 1 , 13
                                                Lcd "sqr"
                                                Locate 2 , 1
                                                Lcd K
                                            Case 11
                                            Goto H
                                   End Select
                               Loop
           End Select
 Loop
 Nn:
 Do
 D = Getkbd()
       Select Case D
                  Case 0
                           Locate 2 , F
                           Lcd "1"
                           G = 1
                           F = F + 1
                            G1 = G1 * 10
                            G1 = G1 + G
                   Case 1
                           Locate 2 , F
                           Lcd "4"
                           G = 4
                           F = F + 1
                            G1 = G1 * 10
                            G1 = G1 + G
                   Case 2
                           Locate 2 , F
                           Lcd "7"
                           G = 7
                           F = F + 1
                           G1 = G1 * 10
                           G1 = G1 + G
                   Case 3
                         F = F - 1
                        Locate 2 , F
                        Lcd " "
                        G1 = G1 \ 10
                        If F = 1 Then
                        Locate 2 , 1
                          Lcd "0"
                          End If
                    Case 4
                           Locate 2 , F
                           Lcd "2"
                           G = 2
                           F = F + 1
                           G1 = G1 * 10
                           G1 = G1 + G
                    Case 5
                           Locate 2 , F
                           Lcd "5"
                           G = 5
                           F = F + 1
                            G1 = G1 * 10
                             G1 = G1 + G
                    Case 6
                           Locate 2 , F
                           Lcd "8"
                           G = 8
                           F = F + 1
                           G1 = G1 * 10
                            G1 = G1 + G
                    Case 7
                            If F = 1 Then
                            Goto Nn
                            End If
                            Locate 2 , F
                            Lcd "0"
                            G = 0
                            F = F + 1
                              G1 = G1 * 10
                               G1 = G1 + G
                    Case 8
                            Locate 2 , F
                             Lcd "3"
                             G = 3
                             F = F + 1
                              G1 = G1 * 10
                              G1 = G1 + G
                    Case 9
                             Locate 2 , F
                             Lcd "6"
                             G = 6
                             F = F + 1
                              G1 = G1 * 10
                              G1 = G1 + G
                    Case 10
                             Locate 2 , F
                             Lcd "9"
                             G = 9
                             F = F + 1
                              G1 = G1 * 10
                               G1 = G1 + G
                    Case 15
                                               Select Case Amal
                                              Case "+"
                                                  K = S1 + G1
                                                  K = Int(k)
                                                  Cls
                                                  Lcd K
                                               Case "-"
                                                  K = S1 - G1
                                                     K = Int(k)
                                                  Cls
                                                  Lcd K
                                               Case "*"
                                                  K = S1 * G1
                                                   K = Int(k)
                                                  Cls
                                                  Lcd K
                                               Case "/"
                                                  K = S1 / G1
                                                  Cls
                                                  Lcd K
                                                  End Select
                    Case 11
                              Exit Do
    End Select
    Loop
    Loop