PHP Code:
;===============================================================
;CLOCK CONTROLLER 8951 DAT: 28-04-2005
; write by PHAM-CHINH-TAM MAIL: phamchinhtam@gmail.com TEL:0918227077
;===============================================================
;=================================
DOI_DL_AL: ;Code đổi Dương lịch sang Âm lịch
;=================================
MOV A,NAM ; CHON NAM
CJNE A,#9,NAM2
MOV DPTR,#DL2009
LJMP TRA_THEO_THANG
NAM2:
CJNE A,#10,NAM3
MOV DPTR,#DL2010
LJMP TRA_THEO_THANG
NAM3:
CJNE A,#11,NAM4
MOV DPTR,#DL2011
LJMP TRA_THEO_THANG
NAM4:
CJNE A,#12,NAM5
MOV DPTR,#DL2012
LJMP TRA_THEO_THANG
NAM5:
CJNE A,#13,NAM6
MOV DPTR,#DL2013
LJMP TRA_THEO_THANG
NAM6:
CJNE A,#14,NAM7
MOV DPTR,#DL2014
LJMP TRA_THEO_THANG
NAM7:
CJNE A,#15,NAM8
MOV DPTR,#DL2015
LJMP TRA_THEO_THANG
NAM8:
CJNE A,#16,NAM9
MOV DPTR,#DL2016
LJMP TRA_THEO_THANG
NAM9:
CJNE A,#17,NAM10
MOV DPTR,#DL2017
LJMP TRA_THEO_THANG
NAM10:
CJNE A,#18,NAM11
MOV DPTR,#DL2018
LJMP TRA_THEO_THANG
NAM11:
MOV DPTR,#DL2019
;===========================================
TRA_THEO_THANG:
MOV A,THANG ; CHON THANG
CJNE A,#1,THANG2
MOV R6,#0 ; VI TRI DU LIEU TUONG UNG THEO THANG TRONG BANG
LJMP TRA_BANG
THANG2:
CJNE A,#2,THANG3
MOV R6,#5
LJMP TRA_BANG
THANG3:
CJNE A,#3,THANG4
MOV R6,#10
LJMP TRA_BANG
THANG4:
CJNE A,#4,THANG5
MOV R6,#15
LJMP TRA_BANG
THANG5:
CJNE A,#5,THANG6
MOV R6,#20
LJMP TRA_BANG
THANG6:
CJNE A,#6,THANG7
MOV R6,#25
LJMP TRA_BANG
THANG7:
CJNE A,#7,THANG8
MOV R6,#30
LJMP TRA_BANG
THANG8:
CJNE A,#8,THANG9
MOV R6,#35
LJMP TRA_BANG
THANG9:
CJNE A,#9,THANG10
MOV R6,#40
LJMP TRA_BANG
THANG10:
CJNE A,#10,THANG11
MOV R6,#45
LJMP TRA_BANG
THANG11:
CJNE A,#11,THANG12
MOV R6,#50
LJMP TRA_BANG
THANG12:
MOV R6,#55
;==========================================================
TRA_BANG:
MOV A,R6
MOVC A,@A+DPTR
MOV N_AL_DAU_THANG,A ;CAT VAO: NGAY AL DAU THANG DL
INC R6
MOV A,R6
MOVC A,@A+DPTR
MOV T_AL_DAU_T_DL,A ; CAT VAO: THANG AL DAU THANG DL
INC R6
MOV A,R6
MOVC A,@A+DPTR
MOV N_DL_DAU_THANG,A ; CAT VAO: NGAY DL DAU THANG AL
INC R6
MOV A,R6
MOVC A,@A+DPTR
MOV T_AL_DAU_T_AL,A ; CAT VAO: THANG AL DAU THANG AM LICH
INC R6
MOV A,R6
MOVC A,@A+DPTR
MOV N_TRONG_THANG,A ; CAT VAO: SO NGAY TRONG THANG
;==========================================================
MOV B,NGAY ; NGAY hien tai
MOV A,N_DL_DAU_THANG ; tru di ngay duong lich tuong ung voi mung 1 am lich trong thang
CLR C
SUBB A,B
JC SET_NGAY ;
MOV THANG_AL,T_AL_DAU_T_DL ;NGAY HT Lon HON NGAY DAU THANG AL thi Thang_al = T_AL_DAU_T_DL
MOV A,NGAY ;THI NGAY AL = NGAY AL DAU THANG + NGAY HT
MOV B,N_AL_DAU_THANG
ADD A,B
DEC A
CJNE A,#31,CAT_NGAY_AL
MOV A,#1
INC THANG_AL
CAT_NGAY_AL:
MOV NGAY_AL,A
MOV A,THANG_AL
CJNE A,#13,EXIT_SET_NGAY
MOV THANG_AL,#1
LJMP EXIT_SET_NGAY
SET_NGAY: ;NGAY HT LON HON NGAY DAU THANG AL
;THI THANG AL = THANG AM LICH DAU THANG AL
MOV THANG_AL,T_AL_DAU_T_AL
MOV A,NGAY ;VA NGAY AL = NGAY - NGAY DL CUA DAU THANG AL + 1
MOV B,N_DL_DAU_THANG
SUBB A,B
INC A
INC A
MOV NGAY_AL,A
EXIT_SET_NGAY:
TINH_NAM_AL: ;Tinh nam AL
MOV A,THANG
MOV B,THANG_AL
CLR C
SUBB A,B
JC SET_NAM
MOV A,NAM
MOV NAM_AL,A
RET
SET_NAM:
MOV A,NAM
DEC A
MOV NAM_AL,A
RET
;=====================================================================================================
; BANG TRA AM LICH :
;=====================================
BANG:
DL2009:
DL2009_1: DB 6,12,26,1,31 ;ngày AL dau thang; thang AL dau thang; ngay dl dau thang AL;thang AL cua dau thang AL; so ngay DL trong thang
DL2009_2: DB 7,1,25,2,28
DL2009_3: DB 5,2,26,3,31
DL2009_4: DB 7,3,25,4,30
DL2009_5: DB 7,4,24,5,31
DL2009_6: DB 9,5,23,5,30
DL2009_7: DB 9,5,22,6,31
DL2009_8: DB 11,6,20,7,31
DL2009_9: DB 13,7,19,8,30
DL2009_10:DB 13,8,18,9,31
DL2009_11:DB 15,9,17,10,30
DL2009_12:DB 15,10,16,11,31
DL2010:
DL2010_1: DB 17,11,15,12,31
DL2010_2: DB 18,12,14,1,28
DL2010_3: DB 16,1,16,2,31
DL2010_4: DB 17,2,14,3,30
DL2010_5: DB 18,3,14,4,31
DL2010_6: DB 19,4,12,5,30
DL2010_7: DB 20,5,12,6,31
DL2010_8: DB 21,6,10,7,31
DL2010_9: DB 23,7,8,8,30
DL2010_10:DB 24,8,8,9,31
DL2010_11:DB 25,9,6,10,30
DL2010_12:DB 26,10,6,11,31
DL2011:
DL2011_1: DB 27,11,4,12,31
DL2011_2: DB 19,12,3,1,28
DL2011_3: DB 27,1,5,2,31
DL2011_4: DB 28,2,3,3,30
DL2011_5: DB 29,3,3,4,31
DL2011_6: DB 30,4,2,5,30
DL2011_7: DB 1,6,31,7,31
DL2011_8: DB 2,7,29,8,31
DL2011_9: DB 4,8,27,9,30
DL2011_10:DB 5,9,27,10,31
DL2011_11:DB 6,10,25,11,30
DL2011_12:DB 7,11,25,12,31
DL2012:
DL2012_1: DB 8,12,23,1,31
DL2012_2: DB 10,1,22,2,29
DL2012_3: DB 9,2,22,3,31
DL2012_4: DB 11,3,21,4,30
DL2012_5: DB 11,4,21,4,31
DL2012_6: DB 12,4,19,5,30
DL2012_7: DB 13,5,19,6,30
DL2012_8: DB 14,6,17,7,31
DL2012_9: DB 16,7,16,8,30
DL2012_10:DB 16,8,15,9,31
DL2012_11:DB 18,9,14,10,30
DL2012_12:DB 18,10,13,11,31
DL2013:
DL2013_1: DB 20,11,12,12,31
DL2013_2: DB 21,12,10,1,28
DL2013_3: DB 20,1,12,2,31
DL2013_4: DB 21,2,10,3,30
DL2013_5: DB 22,3,10,4,31
DL2013_6: DB 23,4,8,5,30
DL2013_7: DB 24,5,8,6,31
DL2013_8: DB 25,6,7,7,31
DL2013_9: DB 26,7,5,8,30
DL2013_10:DB 27,8,5,9,31
DL2013_11:DB 28,9,3,10,30
DL2013_12:DB 29,10,3,11,31
DL2014: ;ngày AL dau thang; thang AL dau thang; ngay dl dau thang AL;thang AL cua dau thang AL; so ngay DL trong thang
DL2014_1: DB 1,12,31,1,31
DL2014_2: DB 2,1,30,2,28 ;KHONG CO NAY 1AL
DL2014_3: DB 1,2,31,3,31
DL2014_4: DB 2,3,29,4,30
DL2014_5: DB 3,4,29,5,31
DL2014_6: DB 4,5,27,6,30
DL2014_7: DB 5,6,27,7,31
DL2014_8: DB 6,7,25,8,31
DL2014_9: DB 8,8,24,9,30
DL2014_10:DB 8,9,24,9,31
DL2014_11:DB 9,9,22,10,30
DL2014_12:DB 10,10,22,11,31
DL2015:
DL2015_1: DB 11,11,20,12,31
DL2015_2: DB 13,12,19,1,28
DL2015_3: DB 11,1,20,2,31
DL2015_4: DB 13,2,19,3,30
DL2015_5: DB 13,3,18,4,31
DL2015_6: DB 15,4,16,5,30
DL2015_7: DB 16,5,16,6,31
DL2015_8: DB 17,6,14,7,31
DL2015_9: DB 19,7,13,8,30
DL2015_10:DB 19,8,13,9,31
DL2015_11:DB 20,9,12,10,30
DL2015_12:DB 20,10,11,11,31
DL2016:
DL2016_1: DB 22,11,10,12,31
DL2016_2: DB 23,12,8,1,29
DL2016_3: DB 23,1,9,2,31
DL2016_4: DB 24,2,7,3,30
DL2016_5: DB 25,3,7,4,31
DL2016_6: DB 26,4,5,5,30
DL2016_7: DB 27,5,4,6,31
DL2016_8: DB 29,6,3,7,31
DL2016_9: DB 1,8,31,9,30 ;KHONG CO NAY 1AL
DL2016_10:DB 1,9,31,10,31
DL2016_11:DB 2,10,29,11,30
DL2016_12:DB 3,11,29,12,31
DL2017:
DL2017_1: DB 4,12,28,1,31
DL2017_2: DB 5,1,26,2,28
DL2017_3: DB 4,2,28,3,31
DL2017_4: DB 5,3,26,4,30
DL2017_5: DB 6,4,26,5,31
DL2017_6: DB 7,5,24,6,30
DL2017_7: DB 8,6,23,6,31
DL2017_8: DB 10,6,22,7,31
DL2017_9: DB 11,7,20,8,30
DL2017_10:DB 12,8,20,9,31
DL2017_11:DB 13,9,18,10,30
DL2017_12:DB 14,10,18,11,31
DL2018:
DL2018_1: DB 15,11,17,12,31
DL2018_2: DB 16,12,16,1,28
DL2018_3: DB 14,1,17,2,31
DL2018_4: DB 16,2,16,3,30
DL2018_5: DB 16,3,15,4,31
DL2018_6: DB 18,4,14,5,30
DL2018_7: DB 18,5,13,6,31
DL2018_8: DB 20,6,11,7,31
DL2018_9: DB 22,7,10,8,30
DL2018_10:DB 22,8,9,9,31
DL2018_11:DB 24,9,7,10,30
DL2018_12:DB 25,10,7,11,31
DL2019:
DL2019_1: DB 26,11,6,12,31
DL2019_2: DB 27,12,5,1,28
DL2019_3: DB 25,1,6,2,31
DL2019_4: DB 27,2,5,3,30
DL2019_5: DB 27,3,5,4,31
DL2019_6: DB 28,4,3,5,30
DL2019_7: DB 29,5,3,6,31
DL2019_8: DB 1,7,30,8,31
DL2019_9: DB 3,8,29,9,30
DL2019_10:DB 3,9,28,10,31
DL2019_11:DB 5,10,26,11,30
DL2019_12:DB 6,11,26,12,31
DL2020:
DL2020_1: DB 7,12,25,1,31
DL2020_2: DB 8,1,23,2,29
DL2020_3: DB 8,2,24,3,31
DL2020_4: DB 9,3,23,4,30
DL2020_5: DB 9,4,23,4,31
DL2020_6: DB 10,4,21,5,30
DL2020_7: DB 11,5,21,6,31
DL2020_8: DB 12,6,19,7,31
DL2020_9: DB 14,7,17,8,30
DL2020_10:DB 15,8,17,9,31
DL2020_11:DB 16,9,15,10,30
DL2020_12:DB 17,10,14,11,31
DL2021:
DL2021_1: DB 19,11,13,12,31
DL2021_2: DB 20,12,12,1,28
DL2021_3: DB 18,1,13,2,31
DL2021_4: DB 20,2,12,3,30
DL2021_5: DB 20,3,12,4,31
DL2021_6: DB 21,4,10,5,30
DL2021_7: DB 22,5,10,6,31
DL2021_8: DB 23,6,8,7,31
DL2021_9: DB 25,7,7,8,30
DL2021_10:DB 25,8,6,9,31
DL2021_11:DB 27,9,5,10,30
DL2021_12:DB 27,10,4,11,31
DL2022:
DL2022_1: DB 29,11,3,12,31
DL2022_2: DB 1,1,28,1,28
DL2022_3: DB 29,1,3,2,31
DL2022_4: DB 1,3,31,4,30 ;KHONG CO NAY 1AL
DL2022_5: DB 1,4,30,5,31
DL2022_6: DB 3,5,29,6,30
DL2022_7: DB 3,6,29,7,31
DL2022_8: DB 4,7,27,8,31
DL2022_9: DB 6,8,26,9,30
DL2022_10:DB 6,9,25,10,31
DL2022_11:DB 8,10,24,11,30
DL2022_12:DB 8,11,23,12,31
DL2023:
DL2023_1: DB 10,12,22,1,31
DL2023_2: DB 11,1,20,2,28
DL2023_3: DB 10,2,22,2,31
DL2023_4: DB 11,2,20,3,30
DL2023_5: DB 12,3,19,4,31
DL2023_6: DB 14,4,18,5,30
DL2023_7: DB 14,5,18,6,31
DL2023_8: DB 15,6,16,7,31
DL2023_9: DB 17,7,15,8,30
DL2023_10:DB 17,8,15,9,31
DL2023_11:DB 18,9,13,10,30
DL2023_12:DB 19,10,13,11,31
DL2024:
DL2024_1: DB 20,11,11,12,31
DL2024_2: DB 22,12,10,1,29
DL2024_3: DB 21,1,10,2,31
DL2024_4: DB 23,2,9,3,30
DL2024_5: DB 23,3,8,4,31
DL2024_6: DB 25,4,6,5,30
DL2024_7: DB 26,5,6,6,31
DL2024_8: DB 27,6,4,7,31
DL2024_9: DB 29,7,3,8,30
DL2024_10:DB 29,8,3,9,31
DL2024_11:DB 1,10,1,10,30
DL2024_12:DB 1,11,31,12,31
DL2025:
DL2025_1: DB 2,12,29,1,31
DL2025_2: DB 4,1,28,2,28
DL2025_3: DB 2,2,29,3,31
DL2025_4: DB 4,3,28,4,30
DL2025_5: DB 4,4,27,5,31
DL2025_6: DB 6,5,25,6,30
DL2025_7: DB 7,6,25,6,31
DL2025_8: DB 8,6,23,7,31
DL2025_9: DB 10,7,22,8,30
DL2025_10: DB 10,8,21,9,31
DL2025_11: DB 12,9,20,10,30
DL2025_12: DB 12,10,20,11,31
DL2026:
DL2026_1: DB 13,11,19,12,31
DL2026_2: DB 14,12,17,1,28
DL2026_3: DB 13,1,19,2,31
DL2026_4: DB 14,2,17,3,30
DL2026_5: DB 15,3,17,4,31
DL2026_6: DB 16,4,15,5,30
DL2026_7: DB 17,5,14,6,31
DL2026_8: DB 19,6,13,7,31
DL2026_9: DB 20,7,11,8,30
DL2026_10:DB 21,8,10,9,31
DL2026_11:DB 23,9,9,10,30
DL2026_12:DB 23,10,9,11,31
DL2027:
DL2027_1: DB 24,11,8,12,31
DL2027_2: DB 25,12,6,1,28
DL2027_3: DB 24,1,8,2,31
DL2027_4: DB 25,2,7,3,30
DL2027_5: DB 25,3,6,4,31
DL2027_6: DB 27,4,5,5,30
DL2027_7: DB 27,5,4,6,31
DL2027_8: DB 29,6,2,7,31
DL2027_9: DB 1,8,30,9,30
DL2027_10:DB 2,9,29,10,31
DL2027_11:DB 4,10,28,11,30
DL2027_12:DB 4,11,28,12,31
DL2028:
DL2028_1: DB 5,12,26,1,31
DL2028_2: DB 7,1,25,2,29
DL2028_3: DB 6,2,26,3,31
DL2028_4: DB 7,3,25,4,30
DL2028_5: DB 7,4,24,5,31
DL2028_6: DB 9,5,23,5,30
DL2028_7: DB 9,5,22,6,31
DL2028_8: DB 11,6,20,7,31
DL2028_9: DB 13,7,19,8,30
DL2028_10:DB 13,8,18,9,31
DL2028_11:DB 15,9,16,10,30
DL2028_12:DB 16,10,16,11,31
DL2029:
DL2029_1: DB 17,11,15,12,31
DL2029_2: DB 18,12,13,1,28
DL2029_3: DB 17,1,15,2,31
DL2029_4: DB 18,2,14,3,30
DL2029_5: DB 18,3,13,4,31
DL2029_6: DB 20,4,12,5,30
DL2029_7: DB 20,5,11,6,31
DL2029_8: DB 22,6,10,7,31
DL2029_9: DB 23,7,8,8,30
DL2029_10:DB 24,8,8,9,31
DL2029_11:DB 25,9,6,10,30
DL2029_12:DB 26,10,5,11,31
DL2030:
DL2030_1: DB 28,11,4,12,31
DL2030_2: DB 29,12,2,1,28
DL2030_3: DB 28,1,4,2,31
DL2030_4: DB 29,2,3,3,30
DL2030_5: DB 29,3,2,4,31
DL2030_6: DB 1,5,31,6,30 ;KHONG CO NAY 1AL
DL2030_7: DB 1,6,30,7,31
DL2030_8: DB 3,7,29,8,31
DL2030_9: DB 4,8,27,9,30
DL2030_10:DB 5,9,27,10,31
DL2030_11:DB 6,10,25,11,30
DL2030_12:DB 7,11,25,12,31
RET
Bookmarks