📄 led.lis
字号:
0386 3184 ldd R3,z+9
0388 4284 ldd R4,z+10
038A 5384 ldd R5,z+11
038C 5A92 st -y,R5
038E 4A92 st -y,R4
0390 3A92 st -y,R3
0392 2A92 st -y,R2
0394 00E0 ldi R16,<L29
0396 10E0 ldi R17,>L29
0398 0E940000 xcall lpm32
039C 3A93 st -y,R19
039E 2A93 st -y,R18
03A0 1A93 st -y,R17
03A2 0A93 st -y,R16
03A4 0E940000 xcall sub32f
03A8 0E940000 xcall fp2int
03AC C801 movw R24,R16
03AE 8050 subi R24,0 ; offset = 32768
03B0 9048 sbci R25,128
03B2 5C01 movw R10,R24
03B4 08C0 xjmp L34
03B6 L33:
03B6 FE01 movw R30,R28
03B8 0085 ldd R16,z+8
03BA 1185 ldd R17,z+9
03BC 2285 ldd R18,z+10
03BE 3385 ldd R19,z+11
03C0 0E940000 xcall fp2int
03C4 5801 movw R10,R16
03C6 L34:
03C6 B501 movw R22,R10
03C8 .dbline 145
03C8 ; temp=temp2%10; // 0.123*100%10 = 3
03C8 2AE0 ldi R18,10
03CA 30E0 ldi R19,0
03CC 8B01 movw R16,R22
03CE 0E940000 xcall mod16u
03D2 402F mov R20,R16
03D4 .dbline 146
03D4 ; display_one(0,temp);
03D4 242F mov R18,R20
03D6 0027 clr R16
03D8 19DE xcall _display_one
03DA .dbline 147
03DA ; delay_ms(6);
03DA 06E0 ldi R16,6
03DC 10E0 ldi R17,0
03DE 0E940000 xcall _delay_ms
03E2 .dbline 148
03E2 ; led_contrl_port &=~ (1<<0);
03E2 C098 cbi 0x18,0
03E4 .dbline 149
03E4 ; }
03E4 3CC4 xjmp L24
03E6 L23:
03E6 .dbline 150
03E6 ; else if(data<10) //比如1.234
03E6 FE01 movw R30,R28
03E8 2688 ldd R2,z+22
03EA 3788 ldd R3,z+23
03EC 408C ldd R4,z+24
03EE 518C ldd R5,z+25
03F0 5A92 st -y,R5
03F2 4A92 st -y,R4
03F4 3A92 st -y,R3
03F6 2A92 st -y,R2
03F8 00E0 ldi R16,<L28
03FA 10E0 ldi R17,>L28
03FC 0E940000 xcall lpm32
0400 3A93 st -y,R19
0402 2A93 st -y,R18
0404 1A93 st -y,R17
0406 0A93 st -y,R16
0408 0E940000 xcall cmp32f
040C 0CF0 brlt X1
040E 70C1 xjmp L35
0410 X1:
0410 .dbline 151
0410 ; {
0410 .dbline 152
0410 ; temp=(data/1); // 1.234/1 = 1
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,<L25
0424 10E0 ldi R17,>L25
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 div32f
0436 FE01 movw R30,R28
0438 0083 std z+0,R16
043A 1183 std z+1,R17
043C 2283 std z+2,R18
043E 3383 std z+3,R19
0440 FE01 movw R30,R28
0442 2080 ldd R2,z+0
0444 3180 ldd R3,z+1
0446 4280 ldd R4,z+2
0448 5380 ldd R5,z+3
044A 5A92 st -y,R5
044C 4A92 st -y,R4
044E 3A92 st -y,R3
0450 2A92 st -y,R2
0452 00E0 ldi R16,<L29
0454 10E0 ldi R17,>L29
0456 0E940000 xcall lpm32
045A 3A93 st -y,R19
045C 2A93 st -y,R18
045E 1A93 st -y,R17
0460 0A93 st -y,R16
0462 0E940000 xcall cmp32f
0466 D4F0 brlt L37
0468 FE01 movw R30,R28
046A 2080 ldd R2,z+0
046C 3180 ldd R3,z+1
046E 4280 ldd R4,z+2
0470 5380 ldd R5,z+3
0472 5A92 st -y,R5
0474 4A92 st -y,R4
0476 3A92 st -y,R3
0478 2A92 st -y,R2
047A 00E0 ldi R16,<L29
047C 10E0 ldi R17,>L29
047E 0E940000 xcall lpm32
0482 3A93 st -y,R19
0484 2A93 st -y,R18
0486 1A93 st -y,R17
0488 0A93 st -y,R16
048A 0E940000 xcall sub32f
048E 0E940000 xcall fp2int
0492 C801 movw R24,R16
0494 8050 subi R24,0 ; offset = 32768
0496 9048 sbci R25,128
0498 5C01 movw R10,R24
049A 08C0 xjmp L38
049C L37:
049C FE01 movw R30,R28
049E 0081 ldd R16,z+0
04A0 1181 ldd R17,z+1
04A2 2281 ldd R18,z+2
04A4 3381 ldd R19,z+3
04A6 0E940000 xcall fp2int
04AA 5801 movw R10,R16
04AC L38:
04AC 4A2D mov R20,R10
04AE .dbline 153
04AE ; display_one(3,temp);
04AE 242F mov R18,R20
04B0 03E0 ldi R16,3
04B2 ACDD xcall _display_one
04B4 .dbline 154
04B4 ; led_port |= 0x80; //点亮对应小数点
04B4 DF9A sbi 0x1b,7
04B6 .dbline 155
04B6 ; delay_ms(6);
04B6 06E0 ldi R16,6
04B8 10E0 ldi R17,0
04BA 0E940000 xcall _delay_ms
04BE .dbline 156
04BE ; led_contrl_port &=~ (1<<3);
04BE C398 cbi 0x18,3
04C0 .dbline 158
04C0 ; //第一位小数
04C0 ; temp2=(data*10);
04C0 00E0 ldi R16,<L28
04C2 10E0 ldi R17,>L28
04C4 0E940000 xcall lpm32
04C8 3A93 st -y,R19
04CA 2A93 st -y,R18
04CC 1A93 st -y,R17
04CE 0A93 st -y,R16
04D0 FE01 movw R30,R28
04D2 ; stack offset 4
04D2 228C ldd R2,z+26
04D4 338C ldd R3,z+27
04D6 448C ldd R4,z+28
04D8 558C ldd R5,z+29
04DA 5A92 st -y,R5
04DC 4A92 st -y,R4
04DE 3A92 st -y,R3
04E0 2A92 st -y,R2
04E2 0E940000 xcall empy32f
04E6 FE01 movw R30,R28
04E8 0483 std z+4,R16
04EA 1583 std z+5,R17
04EC 2683 std z+6,R18
04EE 3783 std z+7,R19
04F0 FE01 movw R30,R28
04F2 2480 ldd R2,z+4
04F4 3580 ldd R3,z+5
04F6 4680 ldd R4,z+6
04F8 5780 ldd R5,z+7
04FA 5A92 st -y,R5
04FC 4A92 st -y,R4
04FE 3A92 st -y,R3
0500 2A92 st -y,R2
0502 00E0 ldi R16,<L29
0504 10E0 ldi R17,>L29
0506 0E940000 xcall lpm32
050A 3A93 st -y,R19
050C 2A93 st -y,R18
050E 1A93 st -y,R17
0510 0A93 st -y,R16
0512 0E940000 xcall cmp32f
0516 D4F0 brlt L39
0518 FE01 movw R30,R28
051A 2480 ldd R2,z+4
051C 3580 ldd R3,z+5
051E 4680 ldd R4,z+6
0520 5780 ldd R5,z+7
0522 5A92 st -y,R5
0524 4A92 st -y,R4
0526 3A92 st -y,R3
0528 2A92 st -y,R2
052A 00E0 ldi R16,<L29
052C 10E0 ldi R17,>L29
052E 0E940000 xcall lpm32
0532 3A93 st -y,R19
0534 2A93 st -y,R18
0536 1A93 st -y,R17
0538 0A93 st -y,R16
053A 0E940000 xcall sub32f
053E 0E940000 xcall fp2int
0542 C801 movw R24,R16
0544 8050 subi R24,0 ; offset = 32768
0546 9048 sbci R25,128
0548 5C01 movw R10,R24
054A 08C0 xjmp L40
054C L39:
054C FE01 movw R30,R28
054E 0481 ldd R16,z+4
0550 1581 ldd R17,z+5
0552 2681 ldd R18,z+6
0554 3781 ldd R19,z+7
0556 0E940000 xcall fp2int
055A 5801 movw R10,R16
055C L40:
055C B501 movw R22,R10
055E .dbline 159
055E ; temp=temp2%10; // 1.234*10%10 = 2
055E 2AE0 ldi R18,10
0560 30E0 ldi R19,0
0562 8B01 movw R16,R22
0564 0E940000 xcall mod16u
0568 402F mov R20,R16
056A .dbline 160
056A ; display_one(2,temp);
056A 242F mov R18,R20
056C 02E0 ldi R16,2
056E 4EDD xcall _display_one
0570 .dbline 161
0570 ; delay_ms(6);
0570 06E0 ldi R16,6
0572 10E0 ldi R17,0
0574 0E940000 xcall _delay_ms
0578 .dbline 162
0578 ; led_contrl_port &=~ (1<<2);
0578 C298 cbi 0x18,2
057A .dbline 164
057A ; //第二位小数
057A ; temp2=(data*100);
057A 00E0 ldi R16,<L32
057C 10E0 ldi R17,>L32
057E 0E940000 xcall lpm32
0582 3A93 st -y,R19
0584 2A93 st -y,R18
0586 1A93 st -y,R17
0588 0A93 st -y,R16
058A FE01 movw R30,R28
058C ; stack offset 4
058C 228C ldd R2,z+26
058E 338C ldd R3,z+27
0590 448C ldd R4,z+28
0592 558C ldd R5,z+29
0594 5A92 st -y,R5
0596 4A92 st -y,R4
0598 3A92 st -y,R3
059A 2A92 st -y,R2
059C 0E940000 xcall empy32f
05A0 FE01 movw R30,R28
05A2 0087 std z+8,R16
05A4 1187 std z+9,R17
05A6 2287 std z+10,R18
05A8 3387 std z+11,R19
05AA FE01 movw R30,R28
05AC 2084 ldd R2,z+8
05AE 3184 ldd R3,z+9
05B0 4284 ldd R4,z+10
05B2 5384 ldd R5,z+11
05B4 5A92 st -y,R5
05B6 4A92 st -y,R4
05B8 3A92 st -y,R3
05BA 2A92 st -y,R2
05BC 00E0 ldi R16,<L29
05BE 10E0 ldi R17,>L29
05C0 0E940000 xcall lpm32
05C4 3A93 st -y,R19
05C6 2A93 st -y,R18
05C8 1A93 st -y,R17
05CA 0A93 st -y,R16
05CC 0E940000 xcall cmp32f
05D0 D4F0 brlt L41
05D2 FE01 movw R30,R28
05D4 2084 ldd R2,z+8
05D6 3184 ldd R3,z+9
05D8 4284 ldd R4,z+10
05DA 5384 ldd R5,z+11
05DC 5A92 st -y,R5
05DE 4A92 st -y,R4
05E0 3A92 st -y,R3
05E2 2A92 st -y,R2
05E4 00E0 ldi R16,<L29
05E6 10E0 ldi R17,>L29
05E8 0E940000 xcall lpm32
05EC 3A93 st -y,R19
05EE 2A93 st -y,R18
05F0 1A93 st -y,R17
05F2 0A93 st -y,R16
05F4 0E940000 xcall sub32f
05F8 0E940000 xcall fp2int
05FC C801 movw R24,R16
05FE 8050 subi R24,0 ; offset = 32768
0600 9048 sbci R25,128
0602 5C01 movw R10,R24
0604 08C0 xjmp L42
0606 L41:
0606 FE01 movw R30,R28
0608 0085 ldd R16,z+8
060A 1185 ldd R17,z+9
060C 2285 ldd R18,z+10
060E 3385 ldd R19,z+11
0610 0E940000 xcall fp2int
0614 5801 movw R10,R16
0616 L42:
0616 B501 movw R22,R10
0618 .dbline 165
0618 ; temp=temp2%10; // 1.234*100%10 = 3
0618 2AE0 ldi R18,10
061A 30E0 ldi R19,0
061C 8B01 movw R16,R22
061E 0E940000 xcall mod16u
0622 402F mov R20,R16
0624 .dbline 166
0624 ; display_one(1,temp);
0624 242F mov R18,R20
0626 01E0 ldi R16,1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -