📄 ac11-3.lis
字号:
015C E0E0 ldi R30,<_ACT
015E F0E0 ldi R31,>_ACT
0160 E491 lpm R30,Z
0162 E5BB out 0x15,R30
0164 .dbline 56
0164 ACC0 xjmp L16
0166 L19:
0166 .dbline 57
0166 ; case 1:PORTA=SEG7[sec/10];PORTC=ACT[1];break;
0166 2AE0 ldi R18,10
0168 30E0 ldi R19,0
016A 00910300 lds R16,_sec
016E 1127 clr R17
0170 0E940000 xcall div16s
0174 F801 movw R30,R16
0176 80E0 ldi R24,<_SEG7
0178 90E0 ldi R25,>_SEG7
017A E80F add R30,R24
017C F91F adc R31,R25
017E E491 lpm R30,Z
0180 EBBB out 0x1b,R30
0182 .dbline 57
0182 E0E0 ldi R30,<_ACT+1
0184 F0E0 ldi R31,>_ACT+1
0186 E491 lpm R30,Z
0188 E5BB out 0x15,R30
018A .dbline 57
018A 99C0 xjmp L16
018C L21:
018C .dbline 58
018C ; case 2:PORTA=SEG7[min%10];PORTC=ACT[2];break;
018C 2AE0 ldi R18,10
018E 30E0 ldi R19,0
0190 00910200 lds R16,_min
0194 1127 clr R17
0196 0E940000 xcall mod16s
019A F801 movw R30,R16
019C 80E0 ldi R24,<_SEG7
019E 90E0 ldi R25,>_SEG7
01A0 E80F add R30,R24
01A2 F91F adc R31,R25
01A4 E491 lpm R30,Z
01A6 EBBB out 0x1b,R30
01A8 .dbline 58
01A8 E0E0 ldi R30,<_ACT+2
01AA F0E0 ldi R31,>_ACT+2
01AC E491 lpm R30,Z
01AE E5BB out 0x15,R30
01B0 .dbline 58
01B0 86C0 xjmp L16
01B2 L23:
01B2 .dbline 59
01B2 ; case 3:PORTA=SEG7[min/10];PORTC=ACT[3];break;
01B2 2AE0 ldi R18,10
01B4 30E0 ldi R19,0
01B6 00910200 lds R16,_min
01BA 1127 clr R17
01BC 0E940000 xcall div16s
01C0 F801 movw R30,R16
01C2 80E0 ldi R24,<_SEG7
01C4 90E0 ldi R25,>_SEG7
01C6 E80F add R30,R24
01C8 F91F adc R31,R25
01CA E491 lpm R30,Z
01CC EBBB out 0x1b,R30
01CE .dbline 59
01CE E0E0 ldi R30,<_ACT+3
01D0 F0E0 ldi R31,>_ACT+3
01D2 E491 lpm R30,Z
01D4 E5BB out 0x15,R30
01D6 .dbline 59
01D6 73C0 xjmp L16
01D8 L25:
01D8 .dbline 60
01D8 ; case 4:if(dpw==1){PORTA=SEG7[set_sec%10]|0x80;}
01D8 80910C00 lds R24,_dpw
01DC 8130 cpi R24,1
01DE 81F4 brne L26
01E0 .dbline 60
01E0 .dbline 60
01E0 2AE0 ldi R18,10
01E2 30E0 ldi R19,0
01E4 00910100 lds R16,_set_sec
01E8 1127 clr R17
01EA 0E940000 xcall mod16s
01EE F801 movw R30,R16
01F0 80E0 ldi R24,<_SEG7
01F2 90E0 ldi R25,>_SEG7
01F4 E80F add R30,R24
01F6 F91F adc R31,R25
01F8 E491 lpm R30,Z
01FA E068 ori R30,128
01FC EBBB out 0x1b,R30
01FE .dbline 60
01FE 0EC0 xjmp L27
0200 L26:
0200 .dbline 61
0200 ; else {PORTA=SEG7[set_sec%10];}
0200 .dbline 61
0200 2AE0 ldi R18,10
0202 30E0 ldi R19,0
0204 00910100 lds R16,_set_sec
0208 1127 clr R17
020A 0E940000 xcall mod16s
020E F801 movw R30,R16
0210 80E0 ldi R24,<_SEG7
0212 90E0 ldi R25,>_SEG7
0214 E80F add R30,R24
0216 F91F adc R31,R25
0218 E491 lpm R30,Z
021A EBBB out 0x1b,R30
021C .dbline 61
021C L27:
021C .dbline 62
021C ; PORTC=ACT[4];break;
021C E0E0 ldi R30,<_ACT+4
021E F0E0 ldi R31,>_ACT+4
0220 E491 lpm R30,Z
0222 E5BB out 0x15,R30
0224 .dbline 62
0224 4CC0 xjmp L16
0226 L29:
0226 .dbline 63
0226 ; case 5:PORTA=SEG7[set_sec/10];PORTC=ACT[5];break;
0226 2AE0 ldi R18,10
0228 30E0 ldi R19,0
022A 00910100 lds R16,_set_sec
022E 1127 clr R17
0230 0E940000 xcall div16s
0234 F801 movw R30,R16
0236 80E0 ldi R24,<_SEG7
0238 90E0 ldi R25,>_SEG7
023A E80F add R30,R24
023C F91F adc R31,R25
023E E491 lpm R30,Z
0240 EBBB out 0x1b,R30
0242 .dbline 63
0242 E0E0 ldi R30,<_ACT+5
0244 F0E0 ldi R31,>_ACT+5
0246 E491 lpm R30,Z
0248 E5BB out 0x15,R30
024A .dbline 63
024A 39C0 xjmp L16
024C L31:
024C .dbline 64
024C ; case 6:PORTA=SEG7[set_min%10];PORTC=ACT[6];break;
024C 2AE0 ldi R18,10
024E 30E0 ldi R19,0
0250 00910000 lds R16,_set_min
0254 1127 clr R17
0256 0E940000 xcall mod16s
025A F801 movw R30,R16
025C 80E0 ldi R24,<_SEG7
025E 90E0 ldi R25,>_SEG7
0260 E80F add R30,R24
0262 F91F adc R31,R25
0264 E491 lpm R30,Z
0266 EBBB out 0x1b,R30
0268 .dbline 64
0268 E0E0 ldi R30,<_ACT+6
026A F0E0 ldi R31,>_ACT+6
026C E491 lpm R30,Z
026E E5BB out 0x15,R30
0270 .dbline 64
0270 26C0 xjmp L16
0272 L33:
0272 .dbline 65
0272 ; case 7:if(dpt==1){PORTA=SEG7[set_min/10]|0x80;}
0272 80910B00 lds R24,_dpt
0276 8130 cpi R24,1
0278 81F4 brne L34
027A .dbline 65
027A .dbline 65
027A 2AE0 ldi R18,10
027C 30E0 ldi R19,0
027E 00910000 lds R16,_set_min
0282 1127 clr R17
0284 0E940000 xcall div16s
0288 F801 movw R30,R16
028A 80E0 ldi R24,<_SEG7
028C 90E0 ldi R25,>_SEG7
028E E80F add R30,R24
0290 F91F adc R31,R25
0292 E491 lpm R30,Z
0294 E068 ori R30,128
0296 EBBB out 0x1b,R30
0298 .dbline 65
0298 0EC0 xjmp L35
029A L34:
029A .dbline 66
029A ; else {PORTA=SEG7[set_min/10];}
029A .dbline 66
029A 2AE0 ldi R18,10
029C 30E0 ldi R19,0
029E 00910000 lds R16,_set_min
02A2 1127 clr R17
02A4 0E940000 xcall div16s
02A8 F801 movw R30,R16
02AA 80E0 ldi R24,<_SEG7
02AC 90E0 ldi R25,>_SEG7
02AE E80F add R30,R24
02B0 F91F adc R31,R25
02B2 E491 lpm R30,Z
02B4 EBBB out 0x1b,R30
02B6 .dbline 66
02B6 L35:
02B6 .dbline 67
02B6 ; PORTC=ACT[7];break;
02B6 E0E0 ldi R30,<_ACT+7
02B8 F0E0 ldi R31,>_ACT+7
02BA E491 lpm R30,Z
02BC E5BB out 0x15,R30
02BE .dbline 67
02BE .dbline 68
02BE ; default:break;
02BE L16:
02BE .dbline 70
02BE ; }
02BE ; if(key_cnt==0)
02BE 20900600 lds R2,_key_cnt
02C2 30900700 lds R3,_key_cnt+1
02C6 2220 tst R2
02C8 09F0 breq X10
02CA 49C0 xjmp L37
02CC X10:
02CC 3320 tst R3
02CE 09F0 breq X11
02D0 46C0 xjmp L37
02D2 X11:
02D2 X2:
02D2 .dbline 71
02D2 ; {
02D2 .dbline 72
02D2 8499 sbic 0x10,4
02D4 0DC0 rjmp L39
02D6 .dbline 72
02D6 .dbline 72
02D6 80910300 lds R24,_sec
02DA 8F5F subi R24,255 ; addi 1
02DC 80930300 sts _sec,R24
02E0 .dbline 72
02E0 8BE3 ldi R24,59
02E2 20900300 lds R2,_sec
02E6 8215 cp R24,R2
02E8 18F4 brsh L41
02EA .dbline 72
02EA 2224 clr R2
02EC 20920300 sts _sec,R2
02F0 L41:
02F0 .dbline 72
02F0 ; if(S1==0){sec++;if(sec>59)sec=0;}
02F0 L39:
02F0 .dbline 73
02F0 8599 sbic 0x10,5
02F2 0DC0 rjmp L43
02F4 .dbline 73
02F4 .dbline 73
02F4 80910200 lds R24,_min
02F8 8F5F subi R24,255 ; addi 1
02FA 80930200 sts _min,R24
02FE .dbline 73
02FE 8BE3 ldi R24,59
0300 20900200 lds R2,_min
0304 8215 cp R24,R2
0306 18F4 brsh L45
0308 .dbline 73
0308 2224 clr R2
030A 20920200 sts _min,R2
030E L45:
030E .dbline 73
030E ; if(S2==0){min++;if(min>59)min=0;}
030E L43:
030E .dbline 74
030E 8699 sbic 0x10,6
0310 0DC0 rjmp L47
0312 .dbline 74
0312 .dbline 74
0312 80910100 lds R24,_set_sec
0316 8F5F subi R24,255 ; addi 1
0318 80930100 sts _set_sec,R24
031C .dbline 74
031C 8BE3 ldi R24,59
031E 20900100 lds R2,_set_sec
0322 8215 cp R24,R2
0324 18F4 brsh L49
0326 .dbline 74
0326 2224 clr R2
0328 20920100 sts _set_sec,R2
032C L49:
032C .dbline 74
032C ; if(S3==0){set_sec++;if(set_sec>59)set_sec=0;}
032C L47:
032C .dbline 75
032C 8799 sbic 0x10,7
032E 0DC0 rjmp L51
0330 .dbline 75
0330 .dbline 75
0330 80910000 lds R24,_set_min
0334 8F5F subi R24,255 ; addi 1
0336 80930000 sts _set_min,R24
033A .dbline 75
033A 8BE3 ldi R24,59
033C 20900000 lds R2,_set_min
0340 8215 cp R24,R2
0342 18F4 brsh L53
0344 .dbline 75
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -