📄 counter.lis
字号:
0084 .dbline 53
0084 ; else
0084 ; PORTB=LedNum[0];
0084 20900000 lds R2,L11
0088 28BA out 0x18,R2
008A L21:
008A .dbline 54
008A 0AE0 ldi R16,10
008C 10E0 ldi R17,0
008E C2DF rcall _delay_ms
0090 .dbline 55
0090 85B3 in R24,0x15
0092 8F6F ori R24,255
0094 85BB out 0x15,R24
0096 .dbline 56
0096 L17:
0096 .dbline 46
0096 4395 inc R20
0098 L19:
0098 .dbline 46
0098 4436 cpi R20,100
009A F8F2 brlo L16
009C .dbline 58
009C ; delay_ms(10);
009C ; PORTC|=0xFF;
009C ; }
009C ;
009C ; CountNum[0]=CountNum[1]=CountNum[2]=CountNum[3]=0;
009C 2224 clr R2
009E 2B82 std y+3,R2
00A0 2A82 std y+2,R2
00A2 2982 std y+1,R2
00A4 2882 std y+0,R2
00A6 5DC0 rjmp L26
00A8 L25:
00A8 .dbline 60
00A8 ; while(1)
00A8 ; {
00A8 .dbline 61
00A8 ; if(CountNum[3]++==9)
00A8 2B80 ldd R2,y+3
00AA 822D mov R24,R2
00AC 8F5F subi R24,255 ; addi 1
00AE 8B83 std y+3,R24
00B0 822D mov R24,R2
00B2 8930 cpi R24,9
00B4 B9F4 brne L28
00B6 .dbline 62
00B6 ; {
00B6 .dbline 63
00B6 ; CountNum[3]=0;
00B6 2224 clr R2
00B8 2B82 std y+3,R2
00BA .dbline 64
00BA ; if(9==CountNum[2]++)
00BA 2A80 ldd R2,y+2
00BC 822D mov R24,R2
00BE 8F5F subi R24,255 ; addi 1
00C0 8A83 std y+2,R24
00C2 822D mov R24,R2
00C4 8930 cpi R24,9
00C6 71F4 brne L32
00C8 .dbline 65
00C8 ; {
00C8 .dbline 66
00C8 ; CountNum[2]=0;
00C8 2224 clr R2
00CA 2A82 std y+2,R2
00CC .dbline 67
00CC ; if(9==CountNum[1]++)
00CC 2980 ldd R2,y+1
00CE 822D mov R24,R2
00D0 8F5F subi R24,255 ; addi 1
00D2 8983 std y+1,R24
00D4 822D mov R24,R2
00D6 8930 cpi R24,9
00D8 29F4 brne L36
00DA .dbline 68
00DA ; {
00DA .dbline 69
00DA ; CountNum[1]=0;
00DA 2224 clr R2
00DC 2982 std y+1,R2
00DE .dbline 70
00DE ; CountNum[0]++;
00DE 8881 ldd R24,y+0
00E0 8F5F subi R24,255 ; addi 1
00E2 8883 std y+0,R24
00E4 .dbline 71
00E4 ; }
00E4 L36:
00E4 .dbline 72
00E4 ; }
00E4 L32:
00E4 .dbline 73
00E4 ; }
00E4 L28:
00E4 .dbline 75
00E4 ;
00E4 ; for(i=0;i<4;i++)
00E4 6627 clr R22
00E6 2DC0 rjmp L43
00E8 L40:
00E8 .dbline 76
00E8 ; {
00E8 .dbline 77
00E8 ; PORTC&=~(1<<i);
00E8 01E0 ldi R16,1
00EA 162F mov R17,R22
00EC 00D0 rcall lsl8
00EE 202E mov R2,R16
00F0 2094 com R2
00F2 35B2 in R3,0x15
00F4 3220 and R3,R2
00F6 35BA out 0x15,R3
00F8 .dbline 78
00F8 ; if(2==i)
00F8 6230 cpi R22,2
00FA 79F4 brne L44
00FC .dbline 79
00FC ; PORTB=LedNum[CountNum[i]]+0x80;
00FC CE01 movw R24,R28
00FE E62F mov R30,R22
0100 FF27 clr R31
0102 E80F add R30,R24
0104 F91F adc R31,R25
0106 E081 ldd R30,z+0
0108 FF27 clr R31
010A 80E0 ldi R24,<L11
010C 90E0 ldi R25,>L11
010E E80F add R30,R24
0110 F91F adc R31,R25
0112 8081 ldd R24,z+0
0114 8058 subi R24,128 ; addi 128
0116 88BB out 0x18,R24
0118 0DC0 rjmp L45
011A L44:
011A .dbline 81
011A ; else
011A ; PORTB=LedNum[CountNum[i]];
011A CE01 movw R24,R28
011C E62F mov R30,R22
011E FF27 clr R31
0120 E80F add R30,R24
0122 F91F adc R31,R25
0124 E081 ldd R30,z+0
0126 FF27 clr R31
0128 80E0 ldi R24,<L11
012A 90E0 ldi R25,>L11
012C E80F add R30,R24
012E F91F adc R31,R25
0130 2080 ldd R2,z+0
0132 28BA out 0x18,R2
0134 L45:
0134 .dbline 82
0134 0AE0 ldi R16,10
0136 10E0 ldi R17,0
0138 6DDF rcall _delay_ms
013A .dbline 83
013A 85B3 in R24,0x15
013C 8F6F ori R24,255
013E 85BB out 0x15,R24
0140 .dbline 84
0140 L41:
0140 .dbline 75
0140 6395 inc R22
0142 L43:
0142 .dbline 75
0142 6430 cpi R22,4
0144 08F4 brsh X1
0146 D0CF rjmp L40
0148 X1:
0148 .dbline 86
0148 ; delay_ms(10);
0148 ; PORTC|=0xFF;
0148 ; }
0148 ;
0148 ; if(CountNum[0]==9 && CountNum[1]==9 && CountNum[2]==9 && CountNum[3]==9)
0148 8881 ldd R24,y+0
014A 8930 cpi R24,9
014C 51F4 brne L46
014E 8981 ldd R24,y+1
0150 8930 cpi R24,9
0152 39F4 brne L46
0154 8A81 ldd R24,y+2
0156 8930 cpi R24,9
0158 21F4 brne L46
015A 8B81 ldd R24,y+3
015C 8930 cpi R24,9
015E 09F4 brne L46
0160 .dbline 87
0160 ; break;
0160 01C0 rjmp L27
0162 L46:
0162 .dbline 88
0162 L26:
0162 .dbline 59
0162 A2CF rjmp L25
0164 L27:
0164 .dbline 89
0164 L14:
0164 .dbline 43
0164 77CF rjmp L13
0166 X0:
0166 .dbline -2
0166 .dbline 90
0166 ; }
0166 ; }
0166 ; }
0166 L10:
0166 2496 adiw R28,4
0168 .dbline 0 ; func end
0168 0895 ret
016A .dbsym r j 20 c
016A .dbsym l CountNum 0 A[4:4]c
016A .dbsym r i 22 c
016A .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -