;*********
; TEMPLATE PEMBUATAN PROGRAM DST-52 DENGAN ALDS
	.DATA

	include	equdst52.asm

	Org	ROM			;Reset Vector
	Ajmp	Start			;
	Org	ROM+3H			;External Interrupt 0 Vector
	Reti				;
	Org	ROM+0BH			;Timer 0 Interrupt Vector
	Reti
	Org	ROM+13H			;External Interrupt 1 Vector
	Reti				;
	Org	ROM+1BH			;Timer 1 Interrupt Vector
	Reti				;
	Org	ROM+23H			;Serial Interrupt Vector
	Reti				;
Alamat_RTC	EQU	6000H
Detik		EQU	00H
Menit		EQU	02H
Jam		EQU	04H
Hari        EQU   06
Bulan       EQU   07
Tahun       EQU   08
RegA		EQU	0AH
RegB		EQU	0BH
RegC		EQU	0CH
RegD		EQU	0DH


Start:
      Lcall Init_LCD
	Mov	DPTR,#Alamat_RTC+RegA	;Aktifkan osilator
	Mov	A,#20H			;
	Movx	@DPTR,A			;
	Inc	DPTR			;Update Interrupt aktif, Mode 24 Jam
	Mov	A,#12H			;Output BCD Data
	Movx	@DPTR,A			;

Loop:
	Mov	DPTR,#Alamat_RTC+RegC	;Periksa Flag IRQ
	Movx	A,@DPTR			;
	ANL	A,#080H			;
	Jnb	A.7,Loop		;Tidak ada flag, loop
	Clr	A.7			;Ada Flag, Clear Flag
	Movx	@DPTR,A			;
	Mov	DPTR,#Alamat_RTC	;Displaykan waktu
	Lcall	Display_Waktu		;
      Lcall Baris2
      Lcall DisplayKalender
	Ajmp	Loop

Display_Waktu:
	Mov	DPTR,#Alamat_RTC+Jam
	Movx	A,@DPTR
      Lcall Hex_ASCII2
      Lcall Kirim_Karakter
      Xch   A,B
      Lcall Kirim_Karakter
	Mov	A,#':'
	Lcall	Kirim_Karakter
	Mov	DPTR,#Alamat_RTC+Menit
	Movx	A,@DPTR
      Lcall Hex_ASCII2
      Lcall Kirim_Karakter
      Xch   A,B
      Lcall Kirim_Karakter
	Mov	A,#':'
	Lcall	Kirim_Karakter
	Mov	DPTR,#Alamat_RTC+Detik
	Movx	A,@DPTR
      Lcall Hex_ASCII2
      Lcall Kirim_Karakter
      Xch   A,B
      Lcall Kirim_Karakter
	Ret

DisplayKalender:
	Mov	DPTR,#Alamat_RTC+Hari
	Movx	A,@DPTR
      Lcall Hex_ASCII2
      Lcall Kirim_Karakter
      Xch   A,B
      Lcall Kirim_Karakter
	Mov	A,#'/'
	Lcall	Kirim_Karakter
	Mov	DPTR,#Alamat_RTC+Bulan
	Movx	A,@DPTR
      Lcall Hex_ASCII2
      Lcall Kirim_Karakter
      Xch   A,B
      Lcall Kirim_Karakter
	Mov	A,#'/'
	Lcall	Kirim_Karakter
	Mov	DPTR,#Alamat_RTC+Tahun
	Movx	A,@DPTR
      Lcall Hex_ASCII2
      Lcall Kirim_Karakter
      Xch   A,B
      Lcall Kirim_Karakter
      Lcall Posisi_Awal
	Ret

