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

📄 clock.lis

📁 单片机开发资料光盘-双龙-686M.zip
💻 LIS
📖 第 1 页 / 共 4 页
字号:
                       ;  do
                       ;    {    
 00D8                 L20:
 00D8                   .dbline 86
 00D8                 L21:
 00D8                   .dbline 85
                       ;     while((PINC&0x02)!=0)
 00D8 9999              sbic 0x13,1
 00DA FECF              rjmp L20
 00DC                   .dbline 87
                       ;            ;
                       ;     send_byte(0x15);
 00DC 05E1              ldi R16,21
 00DE B0DF              rcall _send_byte
 00E0                   .dbline 88
                       ;     key=receive_byte();
 00E0 8FDF              rcall _receive_byte
 00E2 202E              mov R2,R16
 00E4 312E              mov R3,R17
 00E6 422D              mov R20,R2
 00E8                   .dbline 89
                       ;     setcs;
 00E8 AC9A              sbi 0x15,4
 00EA                   .dbline 89
 00EA                   .dbline 90
                       ;     switch (i)
 00EA 6A2D              mov R22,R10
 00EC 7727              clr R23
 00EE 6030              cpi R22,0
 00F0 E0E0              ldi R30,0
 00F2 7E07              cpc R23,R30
 00F4 0CF4              brge X1
 00F6 BCC0              rjmp L61
 00F8                 X1:
 00F8 87E0              ldi R24,7
 00FA 90E0              ldi R25,0
 00FC 8617              cp R24,R22
 00FE 9707              cpc R25,R23
 0100 0CF4              brge X2
 0102 B6C0              rjmp L61
 0104                 X2:
 0104 80E0              ldi R24,<L59
 0106 90E0              ldi R25,>L59
 0108 062F              mov R16,R22
 010A 172F              mov R17,R23
 010C 000F              lsl R16
 010E 111F              rol R17
 0110 080F              add R16,R24
 0112 191F              adc R17,R25
 0114 00D0              rcall lpm16
 0116 E02F              mov R30,R16
 0118 F12F              mov R31,R17
 011A 0994              ijmp
 011C                 X0:
 011C                   .dbline 91
                       ;      {
 011C                 L26:
 011C                   .dbline 92
                       ;       case 7:{
 011C                   .dbline 93
                       ;               if(key<3)
 011C 4330              cpi R20,3
 011E 08F0              brlo X3
 0120 A7C0              rjmp L61
 0122                 X3:
 0122                   .dbline 94
                       ;                 {
 0122                   .dbline 95
                       ;                  write279(0xc8+i,key);
 0122 242F              mov R18,R20
 0124 0A2D              mov R16,R10
 0126 0853              subi R16,56 ; addi 200
 0128 AEDF              rcall _write279
 012A                   .dbline 96
                       ;                  i--;
 012A AA94              dec R10
 012C                   .dbline 97
                       ;                  write279(0x88,0xbf);
 012C 2FEB              ldi R18,191
 012E 08E8              ldi R16,136
 0130 AADF              rcall _write279
 0132                   .dbline 98
                       ;                  time.hour=time.hour%10+key*10;
 0132 0AE0              ldi R16,10
 0134 142F              mov R17,R20
 0136 00D0              rcall mpy8s
 0138 202E              mov R2,R16
 013A 1AE0              ldi R17,10
 013C 00910400          lds R16,_time+2
 0140 00D0              rcall mod8s
 0142 302E              mov R3,R16
 0144 320C              add R3,R2
 0146 30920400          sts _time+2,R3
 014A                   .dbline 99
                       ;                 }             
 014A                   .dbline 100
                       ;               break;
 014A 92C0              rjmp L61
 014C                 L31:
 014C                   .dbline 102
                       ;              }
                       ;       case 6:{
 014C                   .dbline 103
                       ;               if(key<10)
 014C 4A30              cpi R20,10
 014E 08F0              brlo X4
 0150 8FC0              rjmp L61
 0152                 X4:
 0152                   .dbline 104
                       ;                 {
 0152                   .dbline 105
                       ;                  if((time.hour<20)|(key<4))
 0152 80910400          lds R24,_time+2
 0156 8431              cpi R24,20
 0158 2CF4              brge L37
 015A 81E0              ldi R24,1
 015C 90E0              ldi R25,0
 015E E82E              mov R14,R24
 0160 F92E              mov R15,R25
 0162 02C0              rjmp L38
 0164                 L37:
 0164 EE24              clr R14
 0166 FF24              clr R15
 0168                 L38:
 0168 4430              cpi R20,4
 016A 28F4              brsh L39
 016C 81E0              ldi R24,1
 016E 90E0              ldi R25,0
 0170 C82E              mov R12,R24
 0172 D92E              mov R13,R25
 0174 02C0              rjmp L40
 0176                 L39:
 0176 CC24              clr R12
 0178 DD24              clr R13
 017A                 L40:
 017A 2E2C              mov R2,R14
 017C 3F2C              mov R3,R15
 017E 2C28              or R2,R12
 0180 3D28              or R3,R13
 0182 2220              tst R2
 0184 19F4              brne X5
 0186 3320              tst R3
 0188 09F4              brne X6
 018A 72C0              rjmp L61
 018C                 X6:
 018C                 X5:
 018C                   .dbline 106
                       ;                    {
 018C                   .dbline 107
                       ;                     write279(0xc8+i,key);
 018C 242F              mov R18,R20
 018E 0A2D              mov R16,R10
 0190 0853              subi R16,56 ; addi 200
 0192 79DF              rcall _write279
 0194                   .dbline 108
                       ;                     i--;
 0194 AA94              dec R10
 0196                   .dbline 109
                       ;                     i--;
 0196 AA94              dec R10
 0198                   .dbline 110
                       ;                     write279(0x88,0xef);
 0198 2FEE              ldi R18,239
 019A 08E8              ldi R16,136
 019C 74DF              rcall _write279
 019E                   .dbline 111
                       ;                     time.hour=(time.hour/10)*10+key;
 019E 1AE0              ldi R17,10
 01A0 00910400          lds R16,_time+2
 01A4 00D0              rcall div8s
 01A6 102F              mov R17,R16
 01A8 0AE0              ldi R16,10
 01AA 00D0              rcall mpy8s
 01AC 202E              mov R2,R16
 01AE 240E              add R2,R20
 01B0 20920400          sts _time+2,R2
 01B4                   .dbline 112
                       ;                     }   
 01B4                   .dbline 113
                       ;                 }             
 01B4                   .dbline 114
                       ;               break;
 01B4 5DC0              rjmp L61
 01B6                 L43:
 01B6                   .dbline 116
                       ;              }
                       ;       case 4:{
 01B6                   .dbline 117
                       ;               if(key<6)
 01B6 4630              cpi R20,6
 01B8 08F0              brlo X7
 01BA 5AC0              rjmp L61
 01BC                 X7:
 01BC                   .dbline 118
                       ;                 {
 01BC                   .dbline 119
                       ;                  write279(0xc8+i,key);
 01BC 242F              mov R18,R20
 01BE 0A2D              mov R16,R10
 01C0 0853              subi R16,56 ; addi 200
 01C2 61DF              rcall _write279
 01C4                   .dbline 120
                       ;                  i--;
 01C4 AA94              dec R10
 01C6                   .dbline 121
                       ;                  write279(0x88,0xf7);
 01C6 27EF              ldi R18,247
 01C8 08E8              ldi R16,136
 01CA 5DDF              rcall _write279
 01CC                   .dbline 122
                       ;                  time.minute=time.minute%10+key*10;
 01CC 0AE0              ldi R16,10
 01CE 142F              mov R17,R20
 01D0 00D0              rcall mpy8s
 01D2 202E              mov R2,R16
 01D4 1AE0              ldi R17,10
 01D6 00910300          lds R16,_time+1
 01DA 00D0              rcall mod8s
 01DC 302E              mov R3,R16
 01DE 320C              add R3,R2
 01E0 30920300          sts _time+1,R3
 01E4                   .dbline 123
                       ;                  }            
 01E4                   .dbline 124
                       ;               break;                          
 01E4 45C0              rjmp L61
 01E6                 L48:
 01E6                   .dbline 126
                       ;               }
                       ;       case 3:{
 01E6                   .dbline 127
                       ;               if(key<10)
 01E6 4A30              cpi R20,10
 01E8 08F0              brlo X8
 01EA 42C0              rjmp L61
 01EC                 X8:
 01EC                   .dbline 128
                       ;                  {
 01EC                   .dbline 129
                       ;                   write279(0xc8+i,key);
 01EC 242F              mov R18,R20
 01EE 0A2D              mov R16,R10
 01F0 0853              subi R16,56 ; addi 200
 01F2 49DF              rcall _write279
 01F4                   .dbline 130
                       ;                   i--;
 01F4 AA94              dec R10
 01F6                   .dbline 131
                       ;                   i--;
 01F6 AA94              dec R10
 01F8                   .dbline 132
                       ;                   write279(0x88,0xfd);
 01F8 2DEF              ldi R18,253
 01FA 08E8              ldi R16,136
 01FC 44DF              rcall _write279
 01FE                   .dbline 133
                       ;                   time.minute=(time.minute/10)*10+key;
 01FE 1AE0              ldi R17,10
 0200 00910300          lds R16,_time+1
 0204 00D0              rcall div8s
 0206 102F              mov R17,R16
 0208 0AE0              ldi R16,10
 020A 00D0              rcall mpy8s
 020C 202E              mov R2,R16
 020E 240E              add R2,R20
 0210 20920300          sts _time+1,R2
 0214                   .dbline 134
                       ;                   }           
 0214                   .dbline 135
                       ;               break;                          
 0214 2DC0              rjmp L61
 0216                 L53:
 0216                   .dbline 137
                       ;              }      
                       ;       case 1:{
 0216                   .dbline 138
                       ;               if(key<6)
 0216 4630              cpi R20,6
 0218 58F5              brsh L61
 021A                   .dbline 139
                       ;                   {
 021A                   .dbline 140
                       ;                   write279(0xc8+i,key);
 021A 242F              mov R18,R20
 021C 0A2D              mov R16,R10
 021E 0853              subi R16,56 ; addi 200
 0220 32DF              rcall _write279
 0222                   .dbline 141
                       ;                   i--;
 0222 AA94              dec R10
 0224                   .dbline 142
                       ;                   write279(0x88,0xfe);
 0224 2EEF              ldi R18,254
 0226 08E8              ldi R16,136
 0228 2EDF              rcall _write279
 022A                   .dbline 143
                       ;                   time.second=time.second%10+key*10;
 022A 0AE0              ldi R16,10
 022C 142F              mov R17,R20
 022E 00D0              rcall mpy8s
 0230 202E              mov R2,R16
 0232 1AE0              ldi R17,10
 0234 00910200          lds R16,_time
 0238 00D0              rcall mod8s
 023A 302E              mov R3,R16
 023C 320C              add R3,R2
 023E 30920200          sts _time,R3
 0242                   .dbline 144
                       ;                   }           
 0242                   .dbline 145
                       ;               break;                          
 0242 16C0              rjmp L61
 0244                 L56:
 0244                   .dbline 147
                       ;               }
                       ;       case 0:{
 0244                   .dbline 148
                       ;               if(key<10)
 0244 4A30              cpi R20,10
 0246 A0F4              brsh L61
 0248                   .dbline 149
                       ;                   {
 0248                   .dbline 150
                       ;                    write279(0xc8+i,key);
 0248 242F              mov R18,R20
 024A 0A2D              mov R16,R10

⌨️ 快捷键说明

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