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

📄 万年历.asm

📁 万年历的全套资料 是用汇编写的
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                                          MOV A,R1                ;R2减4月天数,够减
                                          MOV R2,A
                                          AJMP MM4
                                     M42: CJNE R3,#00H,M43            ;R2减4月天数
                                          LJMP Y4                 ;不够减,判断R3为0否
                                     M43: MOV A,R2                 ;不为0,R3加到R2中
                                          ADD A,R3                 ;再让4月减
                                          MOV R2,A                  ;还不够,则转Y4
                                          MOV R3,#00H
                                          AJMP M4
                                     MM4: LCALL CHECKRE            ;查4月,如果不为闰月
                                          CJNE A,#04H,M5             ;转5月
                                     RM4: MOV A,R4
                                          ANL A,#0FH                  ;R2减闰4月天数
                                          JNZ RM41
                                          MOV A,R2
                                          CLR C
                                          SUBB A,#30
                                          MOV R1,A
                                          AJMP RM42
                                    RM41: MOV A,R2
                                          CLR C
                                          SUBB A,#29
                                          MOV R1,A
                                    RM42: JC RM43
                                          MOV A,R1                ;R2减闰4月天数,够减
                                          MOV R2,A                ;转5月
                                          AJMP M5
                                    RM43: CJNE R3,#00H,RM44
                                          LJMP RY4                  ;R2减润4月天数
                                    RM44: MOV A,R2                     ;不够减,判断R3为0否
                                          ADD A,R3                  ;不为0,R3加到R2中
                                          MOV R2,A                ;再让闰4月减
                                          MOV R3,#00H                  ;还不够转RY4
                                          AJMP  RM4
                                      M5: MOV A,R2                     ;R2减5月天数
                                          CLR C
                                          SUBB A,#29
                                          MOV R1,A
                                          MOV A,R6
                                          JB ACC.1,M51
                                          MOV A,R2
                                          CLR C
                                          SUBB A,#30
                                          MOV R1,A
                                     M51: JC M52
                                          MOV A,R1                ;R2减5月天数,够减
                                          MOV R2,A
                                          AJMP MM5
                                     M52: CJNE R3,#00H,M53            ;R2减5月天数
                                          LJMP Y5                ;不够减,判断R3为0否
                                     M53: MOV A,R2                 ;不为0,R3加到R2中
                                          ADD A,R3                 ;再让5月减
                                          MOV R2,A                  ;还不够,则转Y5
                                          MOV R3,#00H
                                          AJMP M5
                                     MM5: LCALL CHECKRE            ;查5月,如果不为闰月
                                          CJNE A,#05H,M6              ;转6月
                                     RM5: MOV A,R4
                                          ANL A,#0FH                  ;R2减闰5月天数
                                          JNZ RM51
                                          MOV A,R2
                                          CLR C
                                          SUBB A,#30
                                          MOV R1,A
                                          AJMP RM52
                                    RM51: MOV A,R2
                                          CLR C
                                          SUBB A,#29
                                          MOV R1,A
                                    RM52: JC RM53
                                          MOV A,R1                ;R2减闰5月天数,够减
                                          MOV R2,A                ;转6月
                                          LJMP M6
                                    RM53: CJNE R3,#00H,RM54
                                          LJMP RY5                   ;R2减润5月天数
                                    RM54: MOV A,R2                     ;不够减,判断R3为0否
                                          ADD A,R3                  ;不为0,R3加到R2中
                                          MOV R2,A                ;再让闰5月减
                                          MOV R3,#00H                  ;还不够转RY5
                                          LJMP  RM5
                                      M6: MOV A,R2                     ;R2减6月天数
                                          CLR C
                                          SUBB A,#29
                                          MOV R1,A
                                          MOV A,R6
                                          JB ACC.0,M61
                                          MOV A,R2
                                          CLR C
                                          SUBB A,#30
                                          MOV R1,A
                                     M61: JC M62
                                          MOV A,R1                ;R2减6月天数,够减
                                          MOV R2,A
                                          AJMP MM6
                                     M62: CJNE R3,#00H,M63            ;R2减6月天数
                                          LJMP Y6               ;不够减,判断R3为0否
                                     M63: MOV A,R2                 ;不为0,R3加到R2中
                                          ADD A,R3                 ;再让6月减
                                          MOV R2,A                  ;还不够,则转Y6
                                          MOV R3,#00H
                                          AJMP M6
                                     MM6: LCALL CHECKRE            ;查6月,如果不为闰月
                                          CJNE A,#06H,M7              ;转7月
                                     RM6: MOV A,R4
                                          ANL A,#0FH                  ;R2减闰6月天数
                                          JNZ RM61
                                          MOV A,R2
                                          CLR C
                                          SUBB A,#30
                                          MOV R1,A
                                          AJMP RM62
                                    RM61: MOV A,R2
                                          CLR C
                                          SUBB A,#29
                                          MOV R1,A
                                    RM62: JC RM63
                                          MOV A,R1                ;R2减闰6月天数,够减
                                          MOV R2,A                ;转7月
                                          LJMP M7
                                    RM63: CJNE R3,#00H,RM64
                                          LJMP RY6                   ;R2减润6月天数
                                    RM64: MOV A,R2                     ;不够减,判断R3为0否
                                          ADD A,R3                  ;不为0,R3加到R2中
                                          MOV R2,A                ;再让闰6月减
                                          MOV R3,#00H                  ;还不够转RY6
                                          LJMP  RM6
                                      M7: MOV A,R2                     ;R2减7月天数
                                          CLR C
                                          SUBB A,#29
                                          MOV R1,A
                                          MOV A,R5
                                          JB ACC.6,M71
                                          MOV A,R2
                                          CLR C
                                          SUBB A,#30
                                          MOV R1,A
                                     M71: JC M72
                                          MOV A,R1                ;R2减7月天数,够减
                                          MOV R2,A
                                          AJMP MM7
                                     M72: CJNE R3,#00H,M73            ;R2减7月天数
                                          LJMP Y7                ;不够减,判断R3为0否
                                     M73: MOV A,R2                 ;不为0,R3加到R2中
                                          ADD A,R3                 ;再让7月减
                                          MOV R2,A                  ;还不够,则转Y7
                                          MOV R3,#00H
                                          AJMP M7
                                     MM7: LCALL CHECKRE            ;查7月,如果不为闰月
                                          CJNE A,#07H,M8              ;转8月
                                     RM7: MOV A,R4
                                          ANL A,#0FH                  ;R2减闰7月天数
                                          JNZ RM71
                                          MOV A,R2
                                          CLR C
                                          SUBB A,#30
                                          MOV R1,A
                                          AJMP RM72
                                    RM71: MOV A,R2
                                          CLR C
                                          SUBB A,#29
                                          MOV R1,A
                                    RM72: JC RM73
                                          MOV A,R1                ;R2减闰7月天数,够减
                                          MOV R2,A                ;转8月
                                          LJMP M8
                                    RM73: CJNE R3,#00H,RM74
                                          LJMP RY7                   ;R2减润5月天数
                                    RM74: MOV A,R2                     ;不够减,判断R3为0否
                                          ADD A,R3                  ;不为0,R3加到R2中
                                          MOV R2,A                ;再让闰7月减
                                          MOV R3,#00H                  ;还不够转RY7
                                          LJMP  RM7
                                      M8: MOV A,R2                     ;R2减8月天数
                                          CLR C
                                          SUBB A,#29
                                          MOV R1,A
                                          MOV A,R5
                                          JB ACC.5,M81
                                          MOV A,R2
                                          CLR C
                                          SUBB A,#30
                                          MOV R1,A
                                     M81: JC M82
                                          MOV A,R1                ;R2减8月天数,够减
                                          MOV R2,A
                                          AJMP MM9                ;转9月
                                     M82: CJNE R3,#00H,M83            ;R2减8月天数
                                          LJMP Y8                ;不够减,判断R3为0否
                                     M83: MOV A,R2                 ;不为0,R3加到R2中
                                          ADD A,R3                 ;再让8月减
                                          MOV R2,A                  ;还不够,则转Y8
                                          MOV R3,#00H
                                          LJMP M8
                                      M9: MOV A,R2                     ;R2减9月天数
                                          CLR C
                                          SUBB A,#29
                                          MOV R1,A
                                          MOV A,R5
                                          JB ACC.4,M91
                                          MOV A,R2
                                          CLR C
                                          SUBB A,#30
                                          MOV R1,A
                                     M91: JC M92
                                          MOV A,R1                ;R2减9月天数,

⌨️ 快捷键说明

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