        CSEG
        Org     $
;- Keypad ditekan pertama kali
;- Digit pertama tampil di LCD
;- Digit pertama x 100
;- Keypad ditekan untuk kedua kali
;- Digit kedua tampil di LCD
;- Digit kedua x 10
;- Keypad ditekan untuk ketiga kali
;- Digit ketiga tampil di LCD
;- Digit pertama x 100 + Digit kedua x 10 + Digit ketiga = Hasil
;- Hasil disimpan di akumulator
Ambil3DigitKeypad:
	Mov	DPTR,#TabelKeypad       ;DPTR tunjuk Tabel Keypad
	Mov	B,#01H
	Clr	EClock                  ;Disable LCD
	Lcall	Ambil_Keypad        ;Ambil data dari keypad
	Lcall	Delay_100mS         
	Clr	TR0
	Acall	KirimLCD            ;Tampilkan di LCD
	Mov	B,#100                  ;Data dari keypad x 100 (Digit pertama dari
	Mul	AB                      ;3 digit data)
        Push    ACC             ;
	Acall	Ambil2DigitKeypad   ;Panggil rutin pengambilan 2 digit
	Pop	B                       ;Hasil dijumlahkan
	Add	A,B	                    ;
	Ret

Ambil2DigitKeypad:
	Clr	EClock
	Mov	DPTR,#TabelKeypad
	Mov	B,#01H
	Lcall	Ambil_Keypad
	Lcall	Delay_100mS
	Acall	KirimLCD
	Mov	B,#10
	Mul	AB
        Push    ACC
	Clr	EClock
	Mov	DPTR,#TabelKeypad
	Mov	B,#0fH
	Lcall	Ambil_Keypad
	Lcall	Delay_100mS
	Acall	KirimLCD
	Pop	B
	Add	A,B
	Ret

KirimLCD:
        Push    ACC
	Add	A,#30H
	Lcall	Kirim_Karakter
        Pop     ACC
	Ret

