📄 led.lis
字号:
02F0 0E940000 xcall cmp32f
02F4 D4F0 brlt L40
02F6 FE01 movw R30,R28
02F8 2480 ldd R2,z+4
02FA 3580 ldd R3,z+5
02FC 4680 ldd R4,z+6
02FE 5780 ldd R5,z+7
0300 5A92 st -y,R5
0302 4A92 st -y,R4
0304 3A92 st -y,R3
0306 2A92 st -y,R2
0308 00E0 ldi R16,<L39
030A 10E0 ldi R17,>L39
030C 0E940000 xcall lpm32
0310 3A93 st -y,R19
0312 2A93 st -y,R18
0314 1A93 st -y,R17
0316 0A93 st -y,R16
0318 0E940000 xcall sub32f
031C 0E940000 xcall fp2int
0320 C801 movw R24,R16
0322 8050 subi R24,0 ; offset = 32768
0324 9048 sbci R25,128
0326 5C01 movw R10,R24
0328 08C0 xjmp L41
032A L40:
032A FE01 movw R30,R28
032C 0481 ldd R16,z+4
032E 1581 ldd R17,z+5
0330 2681 ldd R18,z+6
0332 3781 ldd R19,z+7
0334 0E940000 xcall fp2int
0338 5801 movw R10,R16
033A L41:
033A B501 movw R22,R10
033C .dbline 168
033C ; temp=temp2%10; // 0.123*100%10 = 2
033C 2AE0 ldi R18,10
033E 30E0 ldi R19,0
0340 8B01 movw R16,R22
0342 0E940000 xcall mod16u
0346 402F mov R20,R16
0348 .dbline 169
0348 ; display_one(5,temp);
0348 242F mov R18,R20
034A 05E0 ldi R16,5
034C 7BDE xcall _display_one
034E .dbline 170
034E ; delay_ms(6);
034E 06E0 ldi R16,6
0350 10E0 ldi R17,0
0352 5FDE xcall _delay_ms
0354 .dbline 171
0354 ; led_contrl_port |= (1<<5);
0354 959A sbi 0x12,5
0356 .dbline 173
0356 ;
0356 ; temp2=(data*1000);
0356 00E0 ldi R16,<L29
0358 10E0 ldi R17,>L29
035A 0E940000 xcall lpm32
035E 3A93 st -y,R19
0360 2A93 st -y,R18
0362 1A93 st -y,R17
0364 0A93 st -y,R16
0366 FE01 movw R30,R28
0368 ; stack offset 4
0368 228C ldd R2,z+26
036A 338C ldd R3,z+27
036C 448C ldd R4,z+28
036E 558C ldd R5,z+29
0370 5A92 st -y,R5
0372 4A92 st -y,R4
0374 3A92 st -y,R3
0376 2A92 st -y,R2
0378 0E940000 xcall empy32f
037C FE01 movw R30,R28
037E 0087 std z+8,R16
0380 1187 std z+9,R17
0382 2287 std z+10,R18
0384 3387 std z+11,R19
0386 FE01 movw R30,R28
0388 2084 ldd R2,z+8
038A 3184 ldd R3,z+9
038C 4284 ldd R4,z+10
038E 5384 ldd R5,z+11
0390 5A92 st -y,R5
0392 4A92 st -y,R4
0394 3A92 st -y,R3
0396 2A92 st -y,R2
0398 00E0 ldi R16,<L39
039A 10E0 ldi R17,>L39
039C 0E940000 xcall lpm32
03A0 3A93 st -y,R19
03A2 2A93 st -y,R18
03A4 1A93 st -y,R17
03A6 0A93 st -y,R16
03A8 0E940000 xcall cmp32f
03AC D4F0 brlt L43
03AE FE01 movw R30,R28
03B0 2084 ldd R2,z+8
03B2 3184 ldd R3,z+9
03B4 4284 ldd R4,z+10
03B6 5384 ldd R5,z+11
03B8 5A92 st -y,R5
03BA 4A92 st -y,R4
03BC 3A92 st -y,R3
03BE 2A92 st -y,R2
03C0 00E0 ldi R16,<L39
03C2 10E0 ldi R17,>L39
03C4 0E940000 xcall lpm32
03C8 3A93 st -y,R19
03CA 2A93 st -y,R18
03CC 1A93 st -y,R17
03CE 0A93 st -y,R16
03D0 0E940000 xcall sub32f
03D4 0E940000 xcall fp2int
03D8 C801 movw R24,R16
03DA 8050 subi R24,0 ; offset = 32768
03DC 9048 sbci R25,128
03DE 5C01 movw R10,R24
03E0 08C0 xjmp L44
03E2 L43:
03E2 FE01 movw R30,R28
03E4 0085 ldd R16,z+8
03E6 1185 ldd R17,z+9
03E8 2285 ldd R18,z+10
03EA 3385 ldd R19,z+11
03EC 0E940000 xcall fp2int
03F0 5801 movw R10,R16
03F2 L44:
03F2 B501 movw R22,R10
03F4 .dbline 174
03F4 ; temp=temp2%10; // 0.123*100%10 = 3
03F4 2AE0 ldi R18,10
03F6 30E0 ldi R19,0
03F8 8B01 movw R16,R22
03FA 0E940000 xcall mod16u
03FE 402F mov R20,R16
0400 .dbline 175
0400 ; display_one(4,temp);
0400 242F mov R18,R20
0402 04E0 ldi R16,4
0404 1FDE xcall _display_one
0406 .dbline 176
0406 ; delay_ms(6);
0406 06E0 ldi R16,6
0408 10E0 ldi R17,0
040A 03DE xcall _delay_ms
040C .dbline 177
040C ; led_contrl_port |= (1<<4);
040C 949A sbi 0x12,4
040E .dbline 178
040E ; }
040E 36C4 xjmp L34
0410 L33:
0410 .dbline 179
0410 ; else if(data<10) //比如1.234
0410 FE01 movw R30,R28
0412 2688 ldd R2,z+22
0414 3788 ldd R3,z+23
0416 408C ldd R4,z+24
0418 518C ldd R5,z+25
041A 5A92 st -y,R5
041C 4A92 st -y,R4
041E 3A92 st -y,R3
0420 2A92 st -y,R2
0422 00E0 ldi R16,<L38
0424 10E0 ldi R17,>L38
0426 0E940000 xcall lpm32
042A 3A93 st -y,R19
042C 2A93 st -y,R18
042E 1A93 st -y,R17
0430 0A93 st -y,R16
0432 0E940000 xcall cmp32f
0436 0CF0 brlt X3
0438 6EC1 xjmp L45
043A X3:
043A .dbline 180
043A ; {
043A .dbline 181
043A ; temp=(data/1); // 1.234/1 = 1
043A FE01 movw R30,R28
043C 2688 ldd R2,z+22
043E 3788 ldd R3,z+23
0440 408C ldd R4,z+24
0442 518C ldd R5,z+25
0444 5A92 st -y,R5
0446 4A92 st -y,R4
0448 3A92 st -y,R3
044A 2A92 st -y,R2
044C 00E0 ldi R16,<L35
044E 10E0 ldi R17,>L35
0450 0E940000 xcall lpm32
0454 3A93 st -y,R19
0456 2A93 st -y,R18
0458 1A93 st -y,R17
045A 0A93 st -y,R16
045C 0E940000 xcall div32f
0460 FE01 movw R30,R28
0462 0083 std z+0,R16
0464 1183 std z+1,R17
0466 2283 std z+2,R18
0468 3383 std z+3,R19
046A FE01 movw R30,R28
046C 2080 ldd R2,z+0
046E 3180 ldd R3,z+1
0470 4280 ldd R4,z+2
0472 5380 ldd R5,z+3
0474 5A92 st -y,R5
0476 4A92 st -y,R4
0478 3A92 st -y,R3
047A 2A92 st -y,R2
047C 00E0 ldi R16,<L39
047E 10E0 ldi R17,>L39
0480 0E940000 xcall lpm32
0484 3A93 st -y,R19
0486 2A93 st -y,R18
0488 1A93 st -y,R17
048A 0A93 st -y,R16
048C 0E940000 xcall cmp32f
0490 D4F0 brlt L47
0492 FE01 movw R30,R28
0494 2080 ldd R2,z+0
0496 3180 ldd R3,z+1
0498 4280 ldd R4,z+2
049A 5380 ldd R5,z+3
049C 5A92 st -y,R5
049E 4A92 st -y,R4
04A0 3A92 st -y,R3
04A2 2A92 st -y,R2
04A4 00E0 ldi R16,<L39
04A6 10E0 ldi R17,>L39
04A8 0E940000 xcall lpm32
04AC 3A93 st -y,R19
04AE 2A93 st -y,R18
04B0 1A93 st -y,R17
04B2 0A93 st -y,R16
04B4 0E940000 xcall sub32f
04B8 0E940000 xcall fp2int
04BC C801 movw R24,R16
04BE 8050 subi R24,0 ; offset = 32768
04C0 9048 sbci R25,128
04C2 5C01 movw R10,R24
04C4 08C0 xjmp L48
04C6 L47:
04C6 FE01 movw R30,R28
04C8 0081 ldd R16,z+0
04CA 1181 ldd R17,z+1
04CC 2281 ldd R18,z+2
04CE 3381 ldd R19,z+3
04D0 0E940000 xcall fp2int
04D4 5801 movw R10,R16
04D6 L48:
04D6 4A2D mov R20,R10
04D8 .dbline 182
04D8 ; display_one(7,temp);
04D8 242F mov R18,R20
04DA 07E0 ldi R16,7
04DC B3DD xcall _display_one
04DE .dbline 183
04DE ; led_port &= 0x7F; //点亮对应小数点
04DE 8BB3 in R24,0x1b
04E0 8F77 andi R24,127
04E2 8BBB out 0x1b,R24
04E4 .dbline 184
04E4 ; delay_ms(6);
04E4 06E0 ldi R16,6
04E6 10E0 ldi R17,0
04E8 94DD xcall _delay_ms
04EA .dbline 185
04EA ; led_contrl_port |= (1<<7);
04EA 979A sbi 0x12,7
04EC .dbline 187
04EC ; //第一位小数
04EC ; temp2=(data*10);
04EC 00E0 ldi R16,<L38
04EE 10E0 ldi R17,>L38
04F0 0E940000 xcall lpm32
04F4 3A93 st -y,R19
04F6 2A93 st -y,R18
04F8 1A93 st -y,R17
04FA 0A93 st -y,R16
04FC FE01 movw R30,R28
04FE ; stack offset 4
04FE 228C ldd R2,z+26
0500 338C ldd R3,z+27
0502 448C ldd R4,z+28
0504 558C ldd R5,z+29
0506 5A92 st -y,R5
0508 4A92 st -y,R4
050A 3A92 st -y,R3
050C 2A92 st -y,R2
050E 0E940000 xcall empy32f
0512 FE01 movw R30,R28
0514 0483 std z+4,R16
0516 1583 std z+5,R17
0518 2683 std z+6,R18
051A 3783 std z+7,R19
051C FE01 movw R30,R28
051E 2480 ldd R2,z+4
0520 3580 ldd R3,z+5
0522 4680 ldd R4,z+6
0524 5780 ldd R5,z+7
0526 5A92 st -y,R5
0528 4A92 st -y,R4
052A 3A92 st -y,R3
052C 2A92 st -y,R2
052E 00E0 ldi R16,<L39
0530 10E0 ldi R17,>L39
0532 0E940000 xcall lpm32
0536 3A93 st -y,R19
0538 2A93 st -y,R18
053A 1A93 st -y,R17
053C 0A93 st -y,R16
053E 0E940000 xcall cmp32f
0542 D4F0 brlt L49
0544 FE01 movw R30,R28
0546 2480 ldd R2,z+4
0548 3580 ldd R3,z+5
054A 4680 ldd R4,z+6
054C 5780 ldd R5,z+7
054E 5A92 st -y,R5
0550 4A92 st -y,R4
0552 3A92 st -y,R3
0554 2A92 st -y,R2
0556 00E0 ldi R16,<L39
0558 10E0 ldi R17,>L39
055A 0E940000 xcall lpm32
055E 3A93 st -y,R19
0560 2A93 st -y,R18
0562 1A93 st -y,R17
0564 0A93 st -y,R16
0566 0E940000 xcall sub32f
056A 0E940000 xcall fp2int
056E C801 movw R24,R16
0570 8050 subi R24,0 ; offset = 32768
0572 9048 sbci R25,128
0574 5C01 movw R10,R24
0576 08C0 xjmp L50
0578 L49:
0578 FE01 movw R30,R28
057A 0481 ldd R16,z+4
057C 1581 ldd R17,z+5
057E 2681 ldd R18,z+6
0580 3781 ldd R19,z+7
0582 0E940000 xcall fp2int
0586 5801 movw R10,R16
0588 L50:
0588 B501 movw R22,R10
058A .dbline 188
058A ; temp=temp2%10; // 1.234*10%10 = 2
058A 2AE0 ldi R18,10
058C 30E0 ldi R19,0
058E 8B01 movw R16,R22
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -