?? 52.lst
字號:
0512 F9 704 MOV R1,A
0513 900F8B 705 MOV DPTR,#TAB
0516 93 706 MOVC A,@A+DPTR
0517 FF 707 MOV R7,A ;第一字節(jié)送R7
0518 09 708 INC R1
0519 E9 709 MOV A,R1
051A 93 710 MOVC A,@A+DPTR
051B FE 711 MOV R6,A ;第二字節(jié)送R6
051C 09 712 INC R1
051D E9 713 MOV A,R1
051E 93 714 MOVC A,@A+DPTR
051F FD 715 MOV R5,A ;第三字節(jié)送R6
0520 09 716 INC R1
0521 E9 717 MOV A,R1
0522 93 718 MOVC A,@A+DPTR
A51 MACRO ASSEMBLER 52 03/31/2008 19:12:35 PAGE 12
0523 FC 719 MOV R4,A ;第四字節(jié)送R4
0524 22 720 RET
721
722
723
724 ;;;;;自動更新農(nóng)歷;;;
725 ;;;;;;;;;;;;;;;;;;;;
0525 7A00 726 GENGXIAN: MOV R2,#00H
0527 7B00 727 MOV R3,#00H
0529 E565 728 MOV A,month
052B B40109 729 CJNE A,#01H,GM2
052E A863 730 MOV R0,day ;當(dāng)前月為一月
0530 1204FB 731 LCALL BCD_10 ;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,送R2
0533 E8 732 MOV A,R0
0534 FA 733 MOV R2,A
0535 A1DD 734 AJMP TIAOZHENG1
0537 B4020B 735 GM2: CJNE A,#02H,GM3
053A A863 736 MOV R0,day ;當(dāng)前月為二月
053C 1204FB 737 LCALL BCD_10 ;;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
053F E8 738 MOV A,R0 ;再加31,送R2
0540 241F 739 ADD A,#31
0542 FA 740 MOV R2,A
0543 A1DD 741 AJMP TIAOZHENG1
0545 B4030B 742 GM3: CJNE A,#03H,GM4
0548 A863 743 MOV R0,day ;當(dāng)前月為三月
054A 1204FB 744 LCALL BCD_10 ;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
054D E8 745 MOV A,R0 ;再加59,送R2
054E 243B 746 ADD A,#59
0550 FA 747 MOV R2,A
0551 A1DD 748 AJMP TIAOZHENG1
0553 B4040B 749 GM4: CJNE A,#04H,GM5
0556 A863 750 MOV R0,day ;當(dāng)前月為四月
0558 1204FB 751 LCALL BCD_10 ;;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
055B E8 752 MOV A,R0 ;再加90,送R2
055C 245A 753 ADD A,#90
055E FA 754 MOV R2,A
055F A1DD 755 AJMP TIAOZHENG1
0561 B4050B 756 GM5: CJNE A,#05H,GM6
0564 A863 757 MOV R0,day ;當(dāng)前月為五月
0566 1204FB 758 LCALL BCD_10 ;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
0569 E8 759 MOV A,R0 ;再加120,送R2
056A 2478 760 ADD A,#120
056C FA 761 MOV R2,A
056D A1DD 762 AJMP TIAOZHENG1
056F B4060B 763 GM6: CJNE A,#06H,GM7
0572 A863 764 MOV R0,day ;當(dāng)前月為六月
0574 1204FB 765 LCALL BCD_10 ;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
0577 E8 766 MOV A,R0 ;再加151,送R2
0578 2497 767 ADD A,#151
057A FA 768 MOV R2,A
057B A1DD 769 AJMP TIAOZHENG1
057D B4070B 770 GM7: CJNE A,#07H,GM8
0580 A863 771 MOV R0,day ;當(dāng)前月位七月
0582 1204FB 772 LCALL BCD_10 ;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
0585 E8 773 MOV A,R0 ;再加181,送R2
0586 24B5 774 ADD A,#181
0588 FA 775 MOV R2,A
0589 A1DD 776 AJMP TIAOZHENG1
058B B4080B 777 GM8:CJNE A,#08H,GM9
058E A863 778 MOV R0,day ;當(dāng)前月為八月
0590 1204FB 779 LCALL BCD_10 ;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
0593 E8 780 MOV A,R0 ;再加212,送R2
0594 24D4 781 ADD A,#212
0596 FA 782 MOV R2,A
0597 A1DD 783 AJMP TIAOZHENG1
0599 B40914 784 GM9:CJNE A,#09H,GM10
A51 MACRO ASSEMBLER 52 03/31/2008 19:12:35 PAGE 13
059C A863 785 MOV R0,day ;當(dāng)前月為九月
059E 1204FB 786 LCALL BCD_10 ;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
05A1 E8 787 MOV A,R0 ;再加243
05A2 C3 788 CLR C
05A3 24F3 789 ADD A,#243
05A5 4003 790 JC GGG
05A7 FA 791 MOV R2,A ;A沒有溢出,送R2
05A8 A1DD 792 AJMP TIAOZHENG1
05AA 7BFF 793 GGG: MOV R3,#0FFH ;A溢出,A加一送R2
05AC 04 794 INC A ;R3中送#0ffh
05AD FA 795 MOV R2,A
05AE A1DD 796 AJMP TIAOZHENG1
05B0 B4100D 797 GM10: CJNE A,#10H,GM11
05B3 A863 798 MOV R0,day ;當(dāng)前月為10月
05B5 1204FB 799 LCALL BCD_10 ;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
05B8 E8 800 MOV A,R0 ;再加18,送R2
05B9 2412 801 ADD A,#18 ;R3中送#0FFH
05BB FA 802 MOV R2,A
05BC 7BFF 803 MOV R3,#0FFH
05BE A1DD 804 AJMP TIAOZHENG1
05C0 B4110D 805 GM11:CJNE A,#11H,GM12
05C3 A863 806 MOV R0,day ;當(dāng)前月為11月
05C5 1204FB 807 LCALL BCD_10 ;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
05C8 E8 808 MOV A,R0 ;再加49,送R2
05C9 2431 809 ADD A,#49 ;R3中送#0FFH
05CB FA 810 MOV R2,A
05CC 7BFF 811 MOV R3,#0FFH
05CE A1DD 812 AJMP TIAOZHENG1
05D0 A863 813 GM12: MOV R0,day ;當(dāng)前月為12月
05D2 1204FB 814 LCALL BCD_10 ;當(dāng)前日轉(zhuǎn)換為10進(jìn)制,
05D5 E8 815 MOV A,R0 ;再加79,送R2
05D6 244F 816 ADD A,#79 ;R3中送#0FFH
05D8 FA 817 MOV R2,A
05D9 7BFF 818 MOV R3,#0FFH
05DB A1DD 819 AJMP TIAOZHENG1
05DD E566 820 TIAOZHENG1: MOV A,year
05DF 75F004 821 MOV B,#04
05E2 84 822 DIV AB
05E3 E5F0 823 MOV A,B
05E5 7016 824 JNZ GGG1
05E7 E565 825 MOV A,65H ;當(dāng)前年為閏年
05E9 B40102 826 CJNE A,#01H,AAAA
05EC A1FD 827 AJMP GGG1 ;當(dāng)前月是1
05EE B40202 828 AAAA: CJNE A,#02H,BBBB
05F1 A1FD 829 AJMP GGG1 ;當(dāng)前月是2
05F3 BAFF06 830 BBBB: CJNE R2,#0FFH,GGG2
05F6 7BFF 831 MOV R3,#0FFH ;當(dāng)前月不是1和2,
05F8 7A01 832 MOV R2,#01H ;R1和R2總和加一
05FA A1FD 833 AJMP GGG1
05FC 0A 834 GGG2: INC R2
05FD A866 835 GGG1: MOV R0,year ;查一年數(shù)據(jù)
05FF 12050A 836 LCALL CHECKMONTH
0602 EA 837 MOV A,R2
0603 C3 838 CLR C
0604 9F 839 SUBB A,R7
0605 92A7 840 MOV P2.7,C
0607 B4010F 841 CJNE A,#01H,GGG3
060A 7A01 842 MOV R2,#01H
060C EB 843 MOV A,R3
060D B40025 844 CJNE A,#00H,NEW1
0610 755701 845 MOV 57H,#01H ;R2和R3總和減R7
0613 755601 846 MOV 56H,#01H ;為0,則為春節(jié)
0616 020CF0 847 LJMP S_PLAY
0619 B40003 848 GGG3: CJNE A,#00H,GGG6
061C FA 849 MOV R2,A
061D C146 850 AJMP OLD
A51 MACRO ASSEMBLER 52 03/31/2008 19:12:35 PAGE 14
061F 30A719 851 GGG6: JNB P2.7,NEW2
0622 EF 852 MOV A,R7
0623 C3 853 CLR C
0624 9A 854 SUBB A,R2
0625 FF 855 MOV R7,A
0626 BBFF08 856 CJNE R3,#0FFH,GGG5
0629 EB 857 MOV A,R3
062A C3 858 CLR C
062B 9F 859 SUBB A,R7
062C FA 860 MOV R2,A
062D 7B00 861 MOV R3,#00H
062F C1AC 862 AJMP NEW
0631 EF 863 GGG5: MOV A,R7
0632 FA 864 MOV R2,A
0633 C146 865 AJMP OLD
0635 7AFF 866 NEW1: MOV R2,#0FFH
0637 7B01 867 MOV R3,#01H
0639 C1AC 868 AJMP NEW
063B FA 869 NEW2: MOV R2,A
063C EB 870 MOV A,R3
063D B4FF04 871 CJNE A,#0FFH,GGG4
0640 EA 872 MOV A,R2
0641 FB 873 MOV R3,A
0642 7AFF 874 MOV R2,#0FFH
0644 C1AC 875 GGG4: AJMP NEW
876
877 ;OLD 農(nóng)歷為公歷的前一年
878
0646 E566 879 OLD: MOV A,year
0648 14 880 DEC A
0649 F8 881 MOV R0,A
064A 12050A 882 LCALL CHECKMONTH
064D EA 883 MOV A,R2
064E C3 884 CLR C
064F 941D 885 SUBB A,#29
0651 92A7 886 MOV P2.7,C
0653 FE 887 MOV R6,A
0654 ED 888 MOV A,R5
0655 20E007 889 JB ACC.0,AAA ;12月為小月,轉(zhuǎn)到AAA
0658 EA 890 MOV A,R2
0659 C3 891 CLR C
065A 941E 892 SUBB A,#30
065C 92A7 893 MOV P2.7,C
065E FE 894 MOV R6,A
065F EE 895 AAA:MOV A,R6
0660 B40010 896 CJNE A,#00H,BBB
0663 755629 897 MOV 56H,#29H ;為0,則為11月最后一天
0666 ED 898 MOV A,R5 ;小月為11月29
0667 20E103 899 JB ACC.1,CCC
066A 755630 900 MOV 56H,#30H ;大月為11月30
066D 755711 901 CCC:MOV 57H,#11H
0670 020CF0 902 LJMP S_PLAY
0673 30A71B 903 BBB:JNB P2.7, DDD
0676 741D 904 MOV A,#29 ; CY位置位,位12月
0678 C3 905 CLR C
0679 9A 906 SUBB A,R2
067A FC 907 MOV R4,A
067B ED 908 MOV A,R5
067C 20E005 909 JB ACC.0,EEE
067F 741E 910 MOV A,#30
0681 C3 911 CLR C
0682 9A 912 SUBB A,R2
0683 FC 913 MOV R4,A
0684 EC 914 EEE: MOV A,R4
0685 F8 915 MOV R0,A
0686 120D08 916 LCALL D_BCD
A51 MACRO ASSEMBLER 52 03/31/2008 19:12:35 PAGE 15
0689 F556 917 MOV 56H,A
068B 755712 918 MOV 57H,#12H
068E 020CF0 919 LJMP S_PLAY
0691 741D 920 DDD: MOV A,#29 ;CY為0,為11月
0693 C3 921 CLR C
0694 9C 922 SUBB A,R4
0695 F9 923 MOV R1,A
0696 ED 924 MOV A,R5
0697 20E105 925 JB ACC.1, FFF
069A 741E 926 MOV A,#30
069C C3 927 CLR C
069D 9C 928 SUBB A,R4
069E F9 929 MOV R1,A
069F E9 930 FFF: MOV A,R1
06A0 F8 931 MOV R0,A
06A1 120D08 932 LCALL D_BCD
06A4 F556 933 MOV 56H,A
06A6 755711 934 MOV 57H,#11H
06A9 020CF0 935 LJMP S_PLAY
936 ;NEW此時R2中的值為FFH時
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -