⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 52.lst

📁 电子万年历 已经过实物检测
💻 LST
📖 第 1 页 / 共 4 页
字号:
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   ;第一字节送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  ;第二字节送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   ;第三字节送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  ;第四字节送R4
0524 22              720       RET
                     721     
                     722     
                     723     
                     724     ;;;;;自动更新农历;;;
                     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   ;当前月为一月
0530 1204FB          731                                LCALL BCD_10 ;当前日转换为10进制,送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    ;当前月为二月
053C 1204FB          737                                LCALL BCD_10 ;;当前日转换为10进制,
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    ;当前月为三月
054A 1204FB          744                                LCALL BCD_10  ;当前日转换为10进制,
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     ;当前月为四月
0558 1204FB          751                                LCALL BCD_10   ;;当前日转换为10进制,
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     ;当前月为五月
0566 1204FB          758                                LCALL BCD_10   ;当前日转换为10进制,
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     ;当前月为六月
0574 1204FB          765                                LCALL BCD_10   ;当前日转换为10进制,
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     ;当前月位七月
0582 1204FB          772                                LCALL BCD_10   ;当前日转换为10进制,
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     ;当前月为八月
0590 1204FB          779                                LCALL BCD_10   ;当前日转换为10进制,
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    ;当前月为九月
059E 1204FB          786                                LCALL BCD_10  ;当前日转换为10进制,
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    ;当前月为10月
05B5 1204FB          799                                LCALL BCD_10   ;当前日转换为10进制,
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    ;当前月为11月
05C5 1204FB          807                                LCALL BCD_10  ;当前日转换为10进制,
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     ;当前月为12月
05D2 1204FB          814                                LCALL BCD_10   ;当前日转换为10进制,
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   ;当前年为闰年
05E9 B40102          826                                CJNE A,#01H,AAAA
05EC A1FD            827                                AJMP GGG1        ;当前月是1
05EE B40202          828                     AAAA:   CJNE A,#02H,BBBB
05F1 A1FD            829                                AJMP GGG1       ;当前月是2
05F3 BAFF06          830                     BBBB:   CJNE  R2,#0FFH,GGG2
05F6 7BFF            831                                MOV R3,#0FFH   ;当前月不是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    ;查一年数据
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,则为春节
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 农历为公历的前一年
                     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月为小月,转到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时

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -