📄 ac15-4.lis
字号:
02CE L80:
02CE .dbline 251
02CE ; /********************************************/
02CE ; while(1)
02CE ; {
02CE .dbline 252
02CE ; DisplayOneChar(6,0,(time1.hour/10)+0x30);
02CE 1AE0 ldi R17,10
02D0 00910400 lds R16,_time1
02D4 0E940000 xcall div8u
02D8 802F mov R24,R16
02DA 805D subi R24,208 ; addi 48
02DC 8883 std y+0,R24
02DE 2227 clr R18
02E0 06E0 ldi R16,6
02E2 CDDE xcall _DisplayOneChar
02E4 .dbline 253
02E4 ; delay_ms(10);
02E4 0AE0 ldi R16,10
02E6 10E0 ldi R17,0
02E8 90D1 xcall _delay_ms
02EA .dbline 254
02EA ; DisplayOneChar(7,0,(time1.hour%10)+0x30);
02EA 1AE0 ldi R17,10
02EC 00910400 lds R16,_time1
02F0 0E940000 xcall mod8u
02F4 802F mov R24,R16
02F6 805D subi R24,208 ; addi 48
02F8 8883 std y+0,R24
02FA 2227 clr R18
02FC 07E0 ldi R16,7
02FE BFDE xcall _DisplayOneChar
0300 .dbline 255
0300 ; delay_ms(10);
0300 0AE0 ldi R16,10
0302 10E0 ldi R17,0
0304 82D1 xcall _delay_ms
0306 .dbline 256
0306 ; DisplayOneChar(9,0,(time1.min/10)+0x30);
0306 1AE0 ldi R17,10
0308 00910500 lds R16,_time1+1
030C 0E940000 xcall div8u
0310 802F mov R24,R16
0312 805D subi R24,208 ; addi 48
0314 8883 std y+0,R24
0316 2227 clr R18
0318 09E0 ldi R16,9
031A B1DE xcall _DisplayOneChar
031C .dbline 257
031C ; delay_ms(10);
031C 0AE0 ldi R16,10
031E 10E0 ldi R17,0
0320 74D1 xcall _delay_ms
0322 .dbline 258
0322 ; DisplayOneChar(10,0,(time1.min%10)+0x30);
0322 1AE0 ldi R17,10
0324 00910500 lds R16,_time1+1
0328 0E940000 xcall mod8u
032C 802F mov R24,R16
032E 805D subi R24,208 ; addi 48
0330 8883 std y+0,R24
0332 2227 clr R18
0334 0AE0 ldi R16,10
0336 A3DE xcall _DisplayOneChar
0338 .dbline 259
0338 ; delay_ms(10);
0338 0AE0 ldi R16,10
033A 10E0 ldi R17,0
033C 66D1 xcall _delay_ms
033E .dbline 260
033E ; DisplayOneChar(12,0,(time1.sec/10)+0x30);
033E 1AE0 ldi R17,10
0340 00910600 lds R16,_time1+2
0344 0E940000 xcall div8u
0348 802F mov R24,R16
034A 805D subi R24,208 ; addi 48
034C 8883 std y+0,R24
034E 2227 clr R18
0350 0CE0 ldi R16,12
0352 95DE xcall _DisplayOneChar
0354 .dbline 261
0354 ; delay_ms(10);
0354 0AE0 ldi R16,10
0356 10E0 ldi R17,0
0358 58D1 xcall _delay_ms
035A .dbline 262
035A ; DisplayOneChar(13,0,(time1.sec%10)+0x30);
035A 1AE0 ldi R17,10
035C 00910600 lds R16,_time1+2
0360 0E940000 xcall mod8u
0364 802F mov R24,R16
0366 805D subi R24,208 ; addi 48
0368 8883 std y+0,R24
036A 2227 clr R18
036C 0DE0 ldi R16,13
036E 87DE xcall _DisplayOneChar
0370 .dbline 263
0370 ; delay_ms(10);
0370 0AE0 ldi R16,10
0372 10E0 ldi R17,0
0374 4AD1 xcall _delay_ms
0376 .dbline 265
0376 ;
0376 ; DisplayOneChar(7,1,(time2.hour/10)+0x30);
0376 1AE0 ldi R17,10
0378 00910000 lds R16,_time2
037C 0E940000 xcall div8u
0380 802F mov R24,R16
0382 805D subi R24,208 ; addi 48
0384 8883 std y+0,R24
0386 21E0 ldi R18,1
0388 07E0 ldi R16,7
038A 79DE xcall _DisplayOneChar
038C .dbline 266
038C ; delay_ms(10);
038C 0AE0 ldi R16,10
038E 10E0 ldi R17,0
0390 3CD1 xcall _delay_ms
0392 .dbline 267
0392 ; DisplayOneChar(8,1,(time2.hour%10)+0x30);
0392 1AE0 ldi R17,10
0394 00910000 lds R16,_time2
0398 0E940000 xcall mod8u
039C 802F mov R24,R16
039E 805D subi R24,208 ; addi 48
03A0 8883 std y+0,R24
03A2 21E0 ldi R18,1
03A4 08E0 ldi R16,8
03A6 6BDE xcall _DisplayOneChar
03A8 .dbline 268
03A8 ; delay_ms(10);
03A8 0AE0 ldi R16,10
03AA 10E0 ldi R17,0
03AC 2ED1 xcall _delay_ms
03AE .dbline 269
03AE ; DisplayOneChar(10,1,(time2.min/10)+0x30);
03AE 1AE0 ldi R17,10
03B0 00910100 lds R16,_time2+1
03B4 0E940000 xcall div8u
03B8 802F mov R24,R16
03BA 805D subi R24,208 ; addi 48
03BC 8883 std y+0,R24
03BE 21E0 ldi R18,1
03C0 0AE0 ldi R16,10
03C2 5DDE xcall _DisplayOneChar
03C4 .dbline 270
03C4 ; delay_ms(10);
03C4 0AE0 ldi R16,10
03C6 10E0 ldi R17,0
03C8 20D1 xcall _delay_ms
03CA .dbline 271
03CA ; DisplayOneChar(11,1,(time2.min%10)+0x30);
03CA 1AE0 ldi R17,10
03CC 00910100 lds R16,_time2+1
03D0 0E940000 xcall mod8u
03D4 802F mov R24,R16
03D6 805D subi R24,208 ; addi 48
03D8 8883 std y+0,R24
03DA 21E0 ldi R18,1
03DC 0BE0 ldi R16,11
03DE 4FDE xcall _DisplayOneChar
03E0 .dbline 272
03E0 ; delay_ms(10);
03E0 0AE0 ldi R16,10
03E2 10E0 ldi R17,0
03E4 12D1 xcall _delay_ms
03E6 .dbline 273
03E6 ; key_val=scan_key();
03E6 BCDE xcall _scan_key
03E8 602F mov R22,R16
03EA .dbline 274
03EA ; switch(key_val)
03EA 462F mov R20,R22
03EC 5527 clr R21
03EE 4F3D cpi R20,223
03F0 E0E0 ldi R30,0
03F2 5E07 cpc R21,R30
03F4 09F4 brne X2
03F6 41C0 xjmp L100
03F8 X2:
03F8 8FED ldi R24,223
03FA 90E0 ldi R25,0
03FC 8417 cp R24,R20
03FE 9507 cpc R25,R21
0400 84F0 brlt L119
0402 L118:
0402 4F37 cpi R20,127
0404 E0E0 ldi R30,0
0406 5E07 cpc R21,R30
0408 09F4 brne X3
040A 5DC0 xjmp L111
040C X3:
040C 4F37 cpi R20,127
040E E0E0 ldi R30,0
0410 5E07 cpc R21,R30
0412 0CF4 brge X4
0414 93C0 xjmp L90
0416 X4:
0416 L120:
0416 4F3B cpi R20,191
0418 E0E0 ldi R30,0
041A 5E07 cpc R21,R30
041C 09F4 brne X5
041E 3CC0 xjmp L103
0420 X5:
0420 8DC0 xjmp L90
0422 L119:
0422 473F cpi R20,247
0424 E0E0 ldi R30,0
0426 5E07 cpc R21,R30
0428 09F4 brne X6
042A 72C0 xjmp L116
042C X6:
042C 87EF ldi R24,247
042E 90E0 ldi R25,0
0430 8417 cp R24,R20
0432 9507 cpc R25,R21
0434 2CF0 brlt L122
0436 L121:
0436 4F3E cpi R20,239
0438 E0E0 ldi R30,0
043A 5E07 cpc R21,R30
043C 39F0 breq L92
043E 7EC0 xjmp L90
0440 L122:
0440 4B3F cpi R20,251
0442 E0E0 ldi R30,0
0444 5E07 cpc R21,R30
0446 09F4 brne X7
0448 4CC0 xjmp L114
044A X7:
044A 78C0 xjmp L90
044C X0:
044C .dbline 275
044C ; {
044C L92:
044C .dbline 276
044C ; case 0xef:time1.min++;
044C 80910500 lds R24,_time1+1
0450 8F5F subi R24,255 ; addi 1
0452 80930500 sts _time1+1,R24
0456 .dbline 277
0456 ; if(time1.min>59){time1.min=0;
0456 8BE3 ldi R24,59
0458 20900500 lds R2,_time1+1
045C 8215 cp R24,R2
045E 08F0 brlo X8
0460 6DC0 xjmp L90
0462 X8:
0462 .dbline 277
0462 .dbline 277
0462 2224 clr R2
0464 20920500 sts _time1+1,R2
0468 .dbline 278
0468 ; if(time1.hour<23)time1.hour++;
0468 80910400 lds R24,_time1
046C 8731 cpi R24,23
046E 08F0 brlo X9
0470 65C0 xjmp L90
0472 X9:
0472 .dbline 278
0472 8F5F subi R24,255 ; addi 1
0474 80930400 sts _time1,R24
0478 .dbline 279
0478 ; }break;
0478 .dbline 279
0478 61C0 xjmp L90
047A L100:
047A .dbline 280
047A ; case 0xdf:time1.hour++;if(time1.hour>23)time1.hour=0;break;
047A 80910400 lds R24,_time1
047E 8F5F subi R24,255 ; addi 1
0480 80930400 sts _time1,R24
0484 .dbline 280
0484 87E1 ldi R24,23
0486 20900400 lds R2,_time1
048A 8215 cp R24,R2
048C 08F0 brlo X10
048E 56C0 xjmp L90
0490 X10:
0490 .dbline 280
0490 2224 clr R2
0492 20920400 sts _time1,R2
0496 .dbline 280
0496 52C0 xjmp L90
0498 L103:
0498 .dbline 282
0498 ;
0498 ; case 0xbf:time2.min++;
0498 80910100 lds R24,_time2+1
049C 8F5F subi R24,255 ; addi 1
049E 80930100 sts _time2+1,R24
04A2 .dbline 283
04A2 ; if(time2.min>59){time2.min=0;
04A2 8BE3 ldi R24,59
04A4 20900100 lds R2,_time2+1
04A8 8215 cp R24,R2
04AA 08F0 brlo X11
04AC 47C0 xjmp L90
04AE X11:
04AE .dbline 283
04AE .dbline 283
04AE 2224 clr R2
04B0 20920100 sts _time2+1,R2
04B4 .dbline 284
04B4 ; if(time2.hour<23)time2.hour++;
04B4 80910000 lds R24,_time2
04B8 8731 cpi R24,23
04BA 08F0 brlo X12
04BC 3FC0 xjmp L90
04BE X12:
04BE .dbline 284
04BE 8F5F subi R24,255 ; addi 1
04C0 80930000 sts _time2,R24
04C4 .dbline 285
04C4 ; }break;
04C4 .dbline 285
04C4 3BC0 xjmp L90
04C6 L111:
04C6 .dbline 286
04C6 ; case 0x7f:time2.hour++;if(time2.hour>23)time2.hour=0;break;
04C6 80910000 lds R24,_time2
04CA 8F5F subi R24,255 ; addi 1
04CC 80930000 sts _time2,R24
04D0 .dbline 286
04D0 87E1 ldi R24,23
04D2 20900000 lds R2,_time2
04D6 8215 cp R24,R2
04D8 88F5 brsh L90
04DA .dbline 286
04DA 2224 clr R2
04DC 20920000 sts _time2,R2
04E0 .dbline 286
04E0 2DC0 xjmp L90
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -