📄 time.lis
字号:
030C 09F4 brne X6
030E 47C0 xjmp L79
0310 X6:
0310 4530 cpi R20,5
0312 E0E0 ldi R30,0
0314 5E07 cpc R21,R30
0316 09F4 brne X7
0318 50C0 xjmp L83
031A X7:
031A 5AC0 xjmp L60
031C X2:
031C .dbline 133
031C ; {
031C L63:
031C .dbline 134
031C ; case 0:{
031C .dbline 135
031C ; if (temp<3)
031C 6330 cpi R22,3
031E 08F0 brlo X8
0320 6EC0 xjmp L61
0322 X8:
0322 .dbline 136
0322 ; {
0322 .dbline 137
0322 ; hour=temp*10;
0322 8AE0 ldi R24,10
0324 869F mul R24,R22
0326 00920B00 sts _hour,R0
032A .dbline 138
032A ; time[0]=temp+0x30;
032A 862F mov R24,R22
032C 805D subi R24,208 ; addi 48
032E 80930200 sts _time,R24
0332 .dbline 139
0332 ; step++;
0332 A394 inc R10
0334 .dbline 140
0334 ; }
0334 .dbline 141
0334 ; break;
0334 64C0 xjmp L61
0336 L66:
0336 .dbline 143
0336 ; }
0336 ; case 1:{
0336 .dbline 144
0336 ; if(hour<20)
0336 80910B00 lds R24,_hour
033A 8431 cpi R24,20
033C 50F4 brsh L67
033E .dbline 145
033E ; {
033E .dbline 146
033E ; hour+=temp;
033E 282E mov R2,R24
0340 260E add R2,R22
0342 20920B00 sts _hour,R2
0346 .dbline 147
0346 ; time[1]=temp+0x30;
0346 862F mov R24,R22
0348 805D subi R24,208 ; addi 48
034A 80930300 sts _time+1,R24
034E .dbline 148
034E ; step++;
034E A394 inc R10
0350 .dbline 149
0350 ; }
0350 56C0 xjmp L61
0352 L67:
0352 .dbline 151
0352 ; else
0352 ; {
0352 .dbline 152
0352 ; if(temp<4)
0352 6430 cpi R22,4
0354 08F0 brlo X9
0356 53C0 xjmp L61
0358 X9:
0358 .dbline 153
0358 ; {
0358 .dbline 154
0358 ; hour+=temp;
0358 20900B00 lds R2,_hour
035C 260E add R2,R22
035E 20920B00 sts _hour,R2
0362 .dbline 155
0362 ; time[1]=temp+0x30;
0362 862F mov R24,R22
0364 805D subi R24,208 ; addi 48
0366 80930300 sts _time+1,R24
036A .dbline 156
036A ; step++;
036A A394 inc R10
036C .dbline 157
036C ; }
036C .dbline 158
036C ; }
036C .dbline 159
036C ; break;
036C 48C0 xjmp L61
036E L73:
036E .dbline 161
036E ; }
036E ; case 2:{
036E .dbline 162
036E ; if (temp<6)
036E 6630 cpi R22,6
0370 08F0 brlo X10
0372 45C0 xjmp L61
0374 X10:
0374 .dbline 163
0374 ; {
0374 .dbline 164
0374 ; minute=temp*10;
0374 8AE0 ldi R24,10
0376 869F mul R24,R22
0378 00920C00 sts _minute,R0
037C .dbline 165
037C ; time[3]=temp+0x30;
037C 862F mov R24,R22
037E 805D subi R24,208 ; addi 48
0380 80930500 sts _time+3,R24
0384 .dbline 166
0384 ; step++;
0384 A394 inc R10
0386 .dbline 167
0386 ; }
0386 .dbline 168
0386 ; break;
0386 3BC0 xjmp L61
0388 L77:
0388 .dbline 170
0388 ; }
0388 ; case 3:{
0388 .dbline 171
0388 ; minute+=temp;
0388 20900C00 lds R2,_minute
038C 260E add R2,R22
038E 20920C00 sts _minute,R2
0392 .dbline 172
0392 ; time[4]=temp+0x30;
0392 862F mov R24,R22
0394 805D subi R24,208 ; addi 48
0396 80930600 sts _time+4,R24
039A .dbline 173
039A ; step++;
039A A394 inc R10
039C .dbline 174
039C ; break;
039C 30C0 xjmp L61
039E L79:
039E .dbline 176
039E ; }
039E ; case 4:{
039E .dbline 177
039E ; if(temp<6)
039E 6630 cpi R22,6
03A0 70F5 brsh L61
03A2 .dbline 178
03A2 ; {
03A2 .dbline 179
03A2 ; second=second*10;
03A2 20900D00 lds R2,_second
03A6 8AE0 ldi R24,10
03A8 829D mul R24,R2
03AA 00920D00 sts _second,R0
03AE .dbline 180
03AE ; time[6]=temp+0x30;
03AE 862F mov R24,R22
03B0 805D subi R24,208 ; addi 48
03B2 80930800 sts _time+6,R24
03B6 .dbline 181
03B6 ; step++;
03B6 A394 inc R10
03B8 .dbline 182
03B8 ; }
03B8 .dbline 183
03B8 ; break;
03B8 22C0 xjmp L61
03BA L83:
03BA .dbline 185
03BA ; }
03BA ; case 5:{
03BA .dbline 186
03BA ; second+=temp;
03BA 20900D00 lds R2,_second
03BE 260E add R2,R22
03C0 20920D00 sts _second,R2
03C4 .dbline 187
03C4 ; time[7]=temp+0x30;
03C4 862F mov R24,R22
03C6 805D subi R24,208 ; addi 48
03C8 80930900 sts _time+7,R24
03CC .dbline 188
03CC ; step++;
03CC A394 inc R10
03CE .dbline 189
03CE ; break;
03CE 17C0 xjmp L61
03D0 L60:
03D0 .dbline 192
03D0 ; }
03D0 ; default:
03D0 ; {
03D0 .dbline 193
03D0 ; for(step=0;step<9;step++)
03D0 AA24 clr R10
03D2 09C0 xjmp L88
03D4 L85:
03D4 .dbline 194
03D4 .dbline 195
03D4 80E0 ldi R24,<_time
03D6 90E0 ldi R25,>_time
03D8 EA2D mov R30,R10
03DA FF27 clr R31
03DC E80F add R30,R24
03DE F91F adc R31,R25
03E0 8FE5 ldi R24,95
03E2 8083 std z+0,R24
03E4 .dbline 196
03E4 L86:
03E4 .dbline 193
03E4 A394 inc R10
03E6 L88:
03E6 .dbline 193
03E6 8A2D mov R24,R10
03E8 8930 cpi R24,9
03EA A0F3 brlo L85
03EC .dbline 197
03EC ; {
03EC ; time[step]='_';
03EC ; }
03EC ; time[2]=':';
03EC 8AE3 ldi R24,58
03EE 80930400 sts _time+2,R24
03F2 .dbline 198
03F2 ; time[5]=':';
03F2 80930700 sts _time+5,R24
03F6 .dbline 199
03F6 ; time[8]=0;
03F6 2224 clr R2
03F8 20920A00 sts _time+8,R2
03FC .dbline 200
03FC ; step=0;
03FC AA24 clr R10
03FE .dbline 201
03FE ; }
03FE .dbline 202
03FE ; }
03FE L61:
03FE .dbline 203
03FE ; cls(0,3,1,8);
03FE 88E0 ldi R24,8
0400 8A83 std y+2,R24
0402 81E0 ldi R24,1
0404 8883 std y+0,R24
0406 23E0 ldi R18,3
0408 30E0 ldi R19,0
040A 0027 clr R16
040C 1127 clr R17
040E 0E940000 xcall _cls
0412 .dbline 204
0412 ; asc_tran(4,52,time);
0412 80E0 ldi R24,<_time
0414 90E0 ldi R25,>_time
0416 8883 std y+0,R24
0418 9983 std y+1,R25
041A 24E3 ldi R18,52
041C 04E0 ldi R16,4
041E 0E940000 xcall _asc_tran
0422 .dbline 205
0422 ; }
0422 L54:
0422 .dbline 206
0422 ; }
0422 L52:
0422 .dbline 207
0422 ; while((temp&0x80)!=0x80);
0422 862F mov R24,R22
0424 8078 andi R24,128
0426 8038 cpi R24,128
0428 09F0 breq X11
042A 3BCF xjmp L51
042C X11:
042C .dbline -2
042C .dbline 208
042C ; }
042C L38:
042C 2396 adiw R28,3
042E 0E940000 xcall pop_gset5
0432 .dbline 0 ; func end
0432 0895 ret
0434 .dbsym r step 10 c
0434 .dbsym r temp 22 c
0434 .dbend
.area bss(ram, con, rel)
0002 .dbfile C:\work\mega128\mix_exp\time.c
0002 _time::
0002 .blkb 9
000B .dbsym e time _time A[9:9]c
000B _hour::
000B .blkb 1
000C .dbsym e hour _hour c
000C _minute::
000C .blkb 1
000D .dbsym e minute _minute c
000D _second::
000D .blkb 1
000E .dbsym e second _second c
.area data(ram, con, rel)
0001 .dbfile C:\work\mega128\mix_exp\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 C:\work\mega128\mix_exp\time.c
000A L42:
000A .blkb 5
.area idata
000A C8B7B6A800 .byte 200,183,182,168,0
.area data(ram, con, rel)
000F .dbfile C:\work\mega128\mix_exp\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 C:\work\mega128\mix_exp\time.c
0015 L40:
0015 .blkb 3
.area idata
0015 B0B400 .byte 176,180,0
.area data(ram, con, rel)
0018 .dbfile C:\work\mega128\mix_exp\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 C:\work\mega128\mix_exp\time.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -