📄 time.lis
字号:
0320 90E0 ldi R25,>L92
0322 062F mov R16,R22
0324 172F mov R17,R23
0326 000F lsl R16
0328 111F rol R17
032A 080F add R16,R24
032C 191F adc R17,R25
032E 0E940000 xcall lpm16
0332 E02F mov R30,R16
0334 F12F mov R31,R17
0336 0994 ijmp
0338 X0:
0338 .dbline 129
; {
0338 L63:
0338 .dbline 130
; case 0:{
0338 .dbline 131
; if (temp<3)
0338 4330 cpi R20,3
033A 08F0 brlo X5
033C 73C0 xjmp L61
033E X5:
033E .dbline 132
; {
033E .dbline 133
; hour=temp*10;
033E 0AE0 ldi R16,10
0340 142F mov R17,R20
0342 0E940000 xcall mpy8s
0346 00930B00 sts _hour,R16
034A .dbline 134
; time[0]=temp+0x30;
034A 842F mov R24,R20
034C 805D subi R24,208 ; addi 48
034E 80930200 sts _time,R24
0352 .dbline 135
; step++;
0352 A394 inc R10
0354 .dbline 136
; }
0354 .dbline 137
; break;
0354 67C0 xjmp L61
0356 L66:
0356 .dbline 139
; }
; case 1:{
0356 .dbline 140
; if(hour<20)
0356 80910B00 lds R24,_hour
035A 8431 cpi R24,20
035C 50F4 brsh L67
035E .dbline 141
; {
035E .dbline 142
; hour+=temp;
035E 282E mov R2,R24
0360 240E add R2,R20
0362 20920B00 sts _hour,R2
0366 .dbline 143
; time[1]=temp+0x30;
0366 842F mov R24,R20
0368 805D subi R24,208 ; addi 48
036A 80930300 sts _time+1,R24
036E .dbline 144
; step++;
036E A394 inc R10
0370 .dbline 145
; }
0370 59C0 xjmp L61
0372 L67:
0372 .dbline 147
; else
; {
0372 .dbline 148
; if(temp<4)
0372 4430 cpi R20,4
0374 08F0 brlo X6
0376 56C0 xjmp L61
0378 X6:
0378 .dbline 149
; {
0378 .dbline 150
; hour+=temp;
0378 20900B00 lds R2,_hour
037C 240E add R2,R20
037E 20920B00 sts _hour,R2
0382 .dbline 151
; time[1]=temp+0x30;
0382 842F mov R24,R20
0384 805D subi R24,208 ; addi 48
0386 80930300 sts _time+1,R24
038A .dbline 152
; step++;
038A A394 inc R10
038C .dbline 153
; }
038C .dbline 154
; }
038C .dbline 155
; break;
038C 4BC0 xjmp L61
038E L73:
038E .dbline 157
; }
; case 2:{
038E .dbline 158
; if (temp<6)
038E 4630 cpi R20,6
0390 08F0 brlo X7
0392 48C0 xjmp L61
0394 X7:
0394 .dbline 159
; {
0394 .dbline 160
; minute=temp*10;
0394 0AE0 ldi R16,10
0396 142F mov R17,R20
0398 0E940000 xcall mpy8s
039C 00930C00 sts _minute,R16
03A0 .dbline 161
; time[3]=temp+0x30;
03A0 842F mov R24,R20
03A2 805D subi R24,208 ; addi 48
03A4 80930500 sts _time+3,R24
03A8 .dbline 162
; step++;
03A8 A394 inc R10
03AA .dbline 163
; }
03AA .dbline 164
; break;
03AA 3CC0 xjmp L61
03AC L77:
03AC .dbline 166
; }
; case 3:{
03AC .dbline 167
; minute+=temp;
03AC 20900C00 lds R2,_minute
03B0 240E add R2,R20
03B2 20920C00 sts _minute,R2
03B6 .dbline 168
; time[4]=temp+0x30;
03B6 842F mov R24,R20
03B8 805D subi R24,208 ; addi 48
03BA 80930600 sts _time+4,R24
03BE .dbline 169
; step++;
03BE A394 inc R10
03C0 .dbline 170
; break;
03C0 31C0 xjmp L61
03C2 L79:
03C2 .dbline 172
; }
; case 4:{
03C2 .dbline 173
; if(temp<6)
03C2 4630 cpi R20,6
03C4 78F5 brsh L61
03C6 .dbline 174
; {
03C6 .dbline 175
; second=second*10;
03C6 10910D00 lds R17,_second
03CA 0AE0 ldi R16,10
03CC 0E940000 xcall mpy8s
03D0 00930D00 sts _second,R16
03D4 .dbline 176
; time[6]=temp+0x30;
03D4 842F mov R24,R20
03D6 805D subi R24,208 ; addi 48
03D8 80930800 sts _time+6,R24
03DC .dbline 177
; step++;
03DC A394 inc R10
03DE .dbline 178
; }
03DE .dbline 179
; break;
03DE 22C0 xjmp L61
03E0 L83:
03E0 .dbline 181
; }
; case 5:{
03E0 .dbline 182
; second+=temp;
03E0 20900D00 lds R2,_second
03E4 240E add R2,R20
03E6 20920D00 sts _second,R2
03EA .dbline 183
; time[7]=temp+0x30;
03EA 842F mov R24,R20
03EC 805D subi R24,208 ; addi 48
03EE 80930900 sts _time+7,R24
03F2 .dbline 184
; step++;
03F2 A394 inc R10
03F4 .dbline 185
; break;
03F4 17C0 xjmp L61
03F6 L60:
03F6 .dbline 188
; }
; default:
; {
03F6 .dbline 189
; for(step=0;step<9;step++)
03F6 AA24 clr R10
03F8 09C0 xjmp L88
03FA L85:
03FA .dbline 190
03FA .dbline 191
03FA 80E0 ldi R24,<_time
03FC 90E0 ldi R25,>_time
03FE EA2D mov R30,R10
0400 FF27 clr R31
0402 E80F add R30,R24
0404 F91F adc R31,R25
0406 8FE5 ldi R24,95
0408 8083 std z+0,R24
040A .dbline 192
040A L86:
040A .dbline 189
040A A394 inc R10
040C L88:
040C .dbline 189
040C 8A2D mov R24,R10
040E 8930 cpi R24,9
0410 A0F3 brlo L85
0412 .dbline 193
; {
; time[step]='_';
; }
; time[2]=':';
0412 8AE3 ldi R24,58
0414 80930400 sts _time+2,R24
0418 .dbline 194
; time[5]=':';
0418 80930700 sts _time+5,R24
041C .dbline 195
; time[8]=0;
041C 2224 clr R2
041E 20920A00 sts _time+8,R2
0422 .dbline 196
; step=0;
0422 AA24 clr R10
0424 .dbline 197
; }
0424 .dbline 198
; }
0424 L61:
0424 .dbline 199
; cls(0,3,1,8);
0424 88E0 ldi R24,8
0426 90E0 ldi R25,0
0428 8A83 std y+2,R24
042A 9B83 std y+3,R25
042C 81E0 ldi R24,1
042E 8883 std y+0,R24
0430 9983 std y+1,R25
0432 23E0 ldi R18,3
0434 30E0 ldi R19,0
0436 0027 clr R16
0438 1127 clr R17
043A 0E940000 xcall _cls
043E .dbline 200
; asc_tran(4,52,time);
043E 80E0 ldi R24,<_time
0440 90E0 ldi R25,>_time
0442 8883 std y+0,R24
0444 9983 std y+1,R25
0446 24E3 ldi R18,52
0448 30E0 ldi R19,0
044A 04E0 ldi R16,4
044C 10E0 ldi R17,0
044E 0E940000 xcall _asc_tran
0452 .dbline 201
; }
0452 L54:
0452 .dbline 202
; }
0452 L52:
0452 .dbline 203
; while((temp&0x80)!=0x80);
0452 842F mov R24,R20
0454 8078 andi R24,128
0456 8038 cpi R24,128
0458 09F0 breq X8
045A 30CF xjmp L51
045C X8:
045C .dbline -2
045C .dbline 204
; }
045C L38:
045C 2496 adiw R28,4
045E 0E940000 xcall pop_gset5
0462 .dbline 0 ; func end
0462 0895 ret
0464 .dbsym r step 10 c
0464 .dbsym r temp 20 c
.area bss(ram, con, rel)
0002 .dbfile D:\ICC-AVR\Pc_At\time.c
0002 _time::
0002 .blkb 9
000B .dbsym s time _time A[9:9]c
000B _hour::
000B .blkb 1
000C .dbsym s hour _hour c
000C _minute::
000C .blkb 1
000D .dbsym s minute _minute c
000D _second::
000D .blkb 1
000E .dbsym s second _second c
.area data(ram, con, rel)
0001 .dbfile D:\ICC-AVR\Pc_At\time.c
0001 L43:
0001 .blkb 9
.area idata
0001 5F5F3A5F5F3A5F5F00 .byte 95,95,58,95,95,58,95,95,0
.area data(ram, con, rel)
000A .dbfile D:\ICC-AVR\Pc_At\time.c
000A L42:
000A .blkb 5
.area idata
000A C8B7B6A800 .byte 200,183,182,168,0
.area data(ram, con, rel)
000F .dbfile D:\ICC-AVR\Pc_At\time.c
000F L41:
000F .blkb 6
.area idata
000F 534849465400 .byte 'S,'H,'I,'F,'T,0
.area data(ram, con, rel)
0015 .dbfile D:\ICC-AVR\Pc_At\time.c
0015 L40:
0015 .blkb 3
.area idata
0015 B0B400 .byte 176,180,0
.area data(ram, con, rel)
0018 .dbfile D:\ICC-AVR\Pc_At\time.c
0018 L39:
0018 .blkb 9
.area idata
0018 CAE4C8EBCAB1BCE400 .byte 202,228,200,235,202,177,188,228,0
.area data(ram, con, rel)
0021 .dbfile D:\ICC-AVR\Pc_At\time.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -