📄 test2.lis
字号:
00F6 ; PORTD |= 0x20;
00F6 959A sbi 0x12,5
00F8 .dbline 114
00F8 ; }
00F8 L14:
00F8 .dbline 115
00F8 ; key2 = key1;
00F8 C880 ldd R12,y+0
00FA .dbline 119
00FA ; // end key
00FA ;
00FA ; // display
00FA ; display[0] = s%10;
00FA 1AE0 ldi R17,10
00FC 0091C900 lds R16,_s
0100 00D0 rcall mod8u
0102 0093CC00 sts _display,R16
0106 .dbline 120
0106 ; display[1] = s/10;
0106 1AE0 ldi R17,10
0108 0091C900 lds R16,_s
010C 00D0 rcall div8u
010E 0093CD00 sts _display+1,R16
0112 .dbline 121
0112 ; display[2] = m%10;
0112 1AE0 ldi R17,10
0114 0091CA00 lds R16,_m
0118 00D0 rcall mod8u
011A 0093CE00 sts _display+2,R16
011E .dbline 122
011E ; display[3] = m/10;
011E 1AE0 ldi R17,10
0120 0091CA00 lds R16,_m
0124 00D0 rcall div8u
0126 0093CF00 sts _display+3,R16
012A .dbline 123
012A AE2C mov R10,R14
012C BB24 clr R11
012E AA20 tst R10
0130 11F4 brne X0
0132 BB20 tst R11
0134 71F0 breq L33
0136 X0:
0136 C501 movw R24,R10
0138 8130 cpi R24,1
013A E0E0 ldi R30,0
013C 9E07 cpc R25,R30
013E 99F0 breq L34
0140 8230 cpi R24,2
0142 E0E0 ldi R30,0
0144 9E07 cpc R25,R30
0146 C9F0 breq L35
0148 8330 cpi R24,3
014A E0E0 ldi R30,0
014C 9E07 cpc R25,R30
014E F9F0 breq L36
0150 27C0 rjmp L30
0152 X1:
0152 .dbline 123
0152 ; switch(i){
0152 L33:
0152 .dbline 124
0152 ; case 0: write164(display[i] | 0x70); break;
0152 80E0 ldi R24,<_display
0154 90E0 ldi R25,>_display
0156 EE2D mov R30,R14
0158 FF27 clr R31
015A E80F add R30,R24
015C F91F adc R31,R25
015E 0081 ldd R16,z+0
0160 0067 ori R16,112
0162 00D0 rcall _write164
0164 .dbline 124
0164 1DC0 rjmp L31
0166 L34:
0166 .dbline 125
0166 ; case 1: write164(display[i] | 0xB0); break;
0166 80E0 ldi R24,<_display
0168 90E0 ldi R25,>_display
016A EE2D mov R30,R14
016C FF27 clr R31
016E E80F add R30,R24
0170 F91F adc R31,R25
0172 0081 ldd R16,z+0
0174 006B ori R16,176
0176 00D0 rcall _write164
0178 .dbline 125
0178 13C0 rjmp L31
017A L35:
017A .dbline 126
017A ; case 2: write164(display[i] | 0xD0); break;
017A 80E0 ldi R24,<_display
017C 90E0 ldi R25,>_display
017E EE2D mov R30,R14
0180 FF27 clr R31
0182 E80F add R30,R24
0184 F91F adc R31,R25
0186 0081 ldd R16,z+0
0188 006D ori R16,208
018A 00D0 rcall _write164
018C .dbline 126
018C 09C0 rjmp L31
018E L36:
018E .dbline 127
018E ; case 3: write164(display[i] | 0xE0); break;
018E 80E0 ldi R24,<_display
0190 90E0 ldi R25,>_display
0192 EE2D mov R30,R14
0194 FF27 clr R31
0196 E80F add R30,R24
0198 F91F adc R31,R25
019A 0081 ldd R16,z+0
019C 006E ori R16,224
019E 00D0 rcall _write164
01A0 .dbline 127
01A0 L30:
01A0 L31:
01A0 .dbline 129
01A0 ; }
01A0 ; if(++i > 3) i = 0;
01A0 8E2D mov R24,R14
01A2 8F5F subi R24,255 ; addi 1
01A4 E82E mov R14,R24
01A6 83E0 ldi R24,3
01A8 8E15 cp R24,R14
01AA 08F4 brsh L37
01AC .dbline 129
01AC EE24 clr R14
01AE L37:
01AE .dbline 131
01AE 02E0 ldi R16,2
01B0 10E0 ldi R17,0
01B2 00D0 rcall _OSTimeDly
01B4 .dbline 132
01B4 .dbline 95
01B4 .dbline 95
01B4 70CF rjmp L9
01B6 X2:
01B6 .dbline -2
01B6 L8:
01B6 2196 adiw R28,1
01B8 00D0 rcall pop_gset5x
01BA .dbline 0 ; func end
01BA 0895 ret
01BC .dbsym r key2 12 c
01BC .dbsym r i 14 c
01BC .dbsym l key1 0 c
01BC .dbsym r data 10 pV
01BC .dbend
01BC .dbfunc e Task2 _Task2 fV
01BC ; data -> R10,R11
.even
01BC _Task2::
01BC 00D0 rcall push_gset3x
01BE 5801 movw R10,R16
01C0 .dbline -1
01C0 .dbline 134
01C0 ; //end display
01C0 ; OSTimeDly (2);
01C0 ; }
01C0 ; }
01C0 ; void Task2(void *data){
01C0 .dbline 135
01C0 ; data = data;
01C0 .dbline 136
01C0 ; OSTimeDly(5);
01C0 05E0 ldi R16,5
01C2 10E0 ldi R17,0
01C4 00D0 rcall _OSTimeDly
01C6 .dbline 137
01C6 ; s = EEPROMread(1);
01C6 01E0 ldi R16,1
01C8 10E0 ldi R17,0
01CA 00D0 rcall _EEPROMread
01CC 0093C900 sts _s,R16
01D0 .dbline 138
01D0 ; m = EEPROMread(2);
01D0 02E0 ldi R16,2
01D2 10E0 ldi R17,0
01D4 00D0 rcall _EEPROMread
01D6 0093CA00 sts _m,R16
01DA .dbline 139
01DA L40:
01DA .dbline 139
01DA ; for (;;){
01DA .dbline 140
01DA ; if(state == 1){
01DA 8091C800 lds R24,_state
01DE 8130 cpi R24,1
01E0 59F5 brne L44
01E2 .dbline 140
01E2 .dbline 141
01E2 ; if(++s == 60){
01E2 8091C900 lds R24,_s
01E6 8F5F subi R24,255 ; addi 1
01E8 282E mov R2,R24
01EA 2092C900 sts _s,R2
01EE 8C33 cpi R24,60
01F0 C9F4 brne L46
01F2 .dbline 141
01F2 .dbline 142
01F2 ; s = 0;
01F2 2224 clr R2
01F4 2092C900 sts _s,R2
01F8 .dbline 143
01F8 ; if(++m == 60){
01F8 8091CA00 lds R24,_m
01FC 8F5F subi R24,255 ; addi 1
01FE 282E mov R2,R24
0200 2092CA00 sts _m,R2
0204 8C33 cpi R24,60
0206 71F4 brne L48
0208 .dbline 143
0208 .dbline 144
0208 ; m = 0;
0208 2224 clr R2
020A 2092CA00 sts _m,R2
020E .dbline 145
020E ; if(++h == 24) h=0;
020E 8091CB00 lds R24,_h
0212 8F5F subi R24,255 ; addi 1
0214 282E mov R2,R24
0216 2092CB00 sts _h,R2
021A 8831 cpi R24,24
021C 19F4 brne L50
021E .dbline 145
021E 2224 clr R2
0220 2092CB00 sts _h,R2
0224 L50:
0224 .dbline 146
0224 ; }
0224 L48:
0224 .dbline 147
0224 ; }
0224 L46:
0224 .dbline 148
0224 ; EEPROMwrite(1,s);
0224 2091C900 lds R18,_s
0228 01E0 ldi R16,1
022A 10E0 ldi R17,0
022C 00D0 rcall _EEPROMwrite
022E .dbline 149
022E ; EEPROMwrite(2,m);
022E 2091CA00 lds R18,_m
0232 02E0 ldi R16,2
0234 10E0 ldi R17,0
0236 00D0 rcall _EEPROMwrite
0238 .dbline 150
0238 ; }
0238 L44:
0238 .dbline 151
0238 0AE0 ldi R16,10
023A 00D0 rcall _putchar
023C .dbline 152
023C 0091CF00 lds R16,_display+3
0240 005D subi R16,208 ; addi 48
0242 00D0 rcall _putchar
0244 .dbline 153
0244 0091CE00 lds R16,_display+2
0248 005D subi R16,208 ; addi 48
024A 00D0 rcall _putchar
024C .dbline 154
024C 0AE3 ldi R16,58
024E 00D0 rcall _putchar
0250 .dbline 155
0250 0091CD00 lds R16,_display+1
0254 005D subi R16,208 ; addi 48
0256 00D0 rcall _putchar
0258 .dbline 156
0258 0091CC00 lds R16,_display
025C 005D subi R16,208 ; addi 48
025E 00D0 rcall _putchar
0260 .dbline 157
0260 0DE0 ldi R16,13
0262 00D0 rcall _putchar
0264 .dbline 158
0264 0AE0 ldi R16,10
0266 00D0 rcall _putchar
0268 .dbline 159
0268 04EF ldi R16,500
026A 11E0 ldi R17,1
026C 00D0 rcall _OSTimeDly
026E .dbline 160
026E .dbline 139
026E .dbline 139
026E B5CF rjmp L40
0270 X3:
0270 .dbline -2
0270 L39:
0270 00D0 rcall pop_gset3x
0272 .dbline 0 ; func end
0272 0895 ret
0274 .dbsym r data 10 pV
0274 .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\ICC\project\ucos_m8_icc\test\test2.c
0000 _Task2Stack::
0000 .blkb 100
0064 .dbsym e Task2Stack _Task2Stack A[100:100]c
0064 _Task1Stack::
0064 .blkb 100
00C8 .dbsym e Task1Stack _Task1Stack A[100:100]c
00C8 _state::
00C8 .blkb 1
00C9 .dbsym e state _state c
00C9 _s::
00C9 .blkb 1
00CA .dbsym e s _s c
00CA _m::
00CA .blkb 1
00CB .dbsym e m _m c
00CB _h::
00CB .blkb 1
00CC .dbsym e h _h c
00CC _display::
00CC .blkb 5
00D1 .dbsym e display _display A[5:5]c
.area data(ram, con, rel)
0000 .dbfile F:\ICC\project\ucos_m8_icc\test\test2.c
0000 L5:
0000 .blkb 23
.area idata
0000 41546D656761382075632F6F732D4949 .byte 'A,'T,'m,'e,'g,'a,56,32,'u,'c,47,'o,'s,45,'I,'I
0010 20546573742100 .byte 32,'T,'e,'s,'t,33,0
.area data(ram, con, rel)
0017 .dbfile F:\ICC\project\ucos_m8_icc\test\test2.c
.area func_lit
0000 DE00 PL_Task2: .word `_Task2
0002 3C00 PL_Task1: .word `_Task1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -