📄 led.lis
字号:
0824 FE01 movw R30,R28
0826 0689 ldd R16,z+22
0828 1789 ldd R17,z+23
082A 208D ldd R18,z+24
082C 318D ldd R19,z+25
082E 0E940000 xcall fp2int
0832 5801 movw R10,R16
0834 L60:
0834 B501 movw R22,R10
0836 .dbline 214
0836 ; temp=(temp2%10); // 12.34%10=2
0836 2AE0 ldi R18,10
0838 30E0 ldi R19,0
083A 8B01 movw R16,R22
083C 0E940000 xcall mod16u
0840 402F mov R20,R16
0842 .dbline 215
0842 ; display_one(6,temp);
0842 242F mov R18,R20
0844 06E0 ldi R16,6
0846 FEDB xcall _display_one
0848 .dbline 216
0848 ; led_port &= 0x7F; //点亮对应小数点
0848 8BB3 in R24,0x1b
084A 8F77 andi R24,127
084C 8BBB out 0x1b,R24
084E .dbline 217
084E ; delay_ms(6);
084E 06E0 ldi R16,6
0850 10E0 ldi R17,0
0852 DFDB xcall _delay_ms
0854 .dbline 218
0854 ; led_contrl_port |= (1<<6);
0854 969A sbi 0x12,6
0856 .dbline 220
0856 ;
0856 ; temp2=(data*10);
0856 00E0 ldi R16,<L38
0858 10E0 ldi R17,>L38
085A 0E940000 xcall lpm32
085E 3A93 st -y,R19
0860 2A93 st -y,R18
0862 1A93 st -y,R17
0864 0A93 st -y,R16
0866 FE01 movw R30,R28
0868 ; stack offset 4
0868 228C ldd R2,z+26
086A 338C ldd R3,z+27
086C 448C ldd R4,z+28
086E 558C ldd R5,z+29
0870 5A92 st -y,R5
0872 4A92 st -y,R4
0874 3A92 st -y,R3
0876 2A92 st -y,R2
0878 0E940000 xcall empy32f
087C FE01 movw R30,R28
087E 0083 std z+0,R16
0880 1183 std z+1,R17
0882 2283 std z+2,R18
0884 3383 std z+3,R19
0886 FE01 movw R30,R28
0888 2080 ldd R2,z+0
088A 3180 ldd R3,z+1
088C 4280 ldd R4,z+2
088E 5380 ldd R5,z+3
0890 5A92 st -y,R5
0892 4A92 st -y,R4
0894 3A92 st -y,R3
0896 2A92 st -y,R2
0898 00E0 ldi R16,<L39
089A 10E0 ldi R17,>L39
089C 0E940000 xcall lpm32
08A0 3A93 st -y,R19
08A2 2A93 st -y,R18
08A4 1A93 st -y,R17
08A6 0A93 st -y,R16
08A8 0E940000 xcall cmp32f
08AC D4F0 brlt L61
08AE FE01 movw R30,R28
08B0 2080 ldd R2,z+0
08B2 3180 ldd R3,z+1
08B4 4280 ldd R4,z+2
08B6 5380 ldd R5,z+3
08B8 5A92 st -y,R5
08BA 4A92 st -y,R4
08BC 3A92 st -y,R3
08BE 2A92 st -y,R2
08C0 00E0 ldi R16,<L39
08C2 10E0 ldi R17,>L39
08C4 0E940000 xcall lpm32
08C8 3A93 st -y,R19
08CA 2A93 st -y,R18
08CC 1A93 st -y,R17
08CE 0A93 st -y,R16
08D0 0E940000 xcall sub32f
08D4 0E940000 xcall fp2int
08D8 C801 movw R24,R16
08DA 8050 subi R24,0 ; offset = 32768
08DC 9048 sbci R25,128
08DE 5C01 movw R10,R24
08E0 08C0 xjmp L62
08E2 L61:
08E2 FE01 movw R30,R28
08E4 0081 ldd R16,z+0
08E6 1181 ldd R17,z+1
08E8 2281 ldd R18,z+2
08EA 3381 ldd R19,z+3
08EC 0E940000 xcall fp2int
08F0 5801 movw R10,R16
08F2 L62:
08F2 B501 movw R22,R10
08F4 .dbline 221
08F4 ; temp=temp2%10; // 12.34*10%10=3
08F4 2AE0 ldi R18,10
08F6 30E0 ldi R19,0
08F8 8B01 movw R16,R22
08FA 0E940000 xcall mod16u
08FE 402F mov R20,R16
0900 .dbline 222
0900 ; display_one(5,temp);
0900 242F mov R18,R20
0902 05E0 ldi R16,5
0904 9FDB xcall _display_one
0906 .dbline 223
0906 ; delay_ms(6);
0906 06E0 ldi R16,6
0908 10E0 ldi R17,0
090A 83DB xcall _delay_ms
090C .dbline 224
090C ; led_contrl_port |= (1<<5);
090C 959A sbi 0x12,5
090E .dbline 226
090E ;
090E ; temp2=(data*100);
090E 00E0 ldi R16,<L42
0910 10E0 ldi R17,>L42
0912 0E940000 xcall lpm32
0916 3A93 st -y,R19
0918 2A93 st -y,R18
091A 1A93 st -y,R17
091C 0A93 st -y,R16
091E FE01 movw R30,R28
0920 ; stack offset 4
0920 228C ldd R2,z+26
0922 338C ldd R3,z+27
0924 448C ldd R4,z+28
0926 558C ldd R5,z+29
0928 5A92 st -y,R5
092A 4A92 st -y,R4
092C 3A92 st -y,R3
092E 2A92 st -y,R2
0930 0E940000 xcall empy32f
0934 FE01 movw R30,R28
0936 0483 std z+4,R16
0938 1583 std z+5,R17
093A 2683 std z+6,R18
093C 3783 std z+7,R19
093E FE01 movw R30,R28
0940 2480 ldd R2,z+4
0942 3580 ldd R3,z+5
0944 4680 ldd R4,z+6
0946 5780 ldd R5,z+7
0948 5A92 st -y,R5
094A 4A92 st -y,R4
094C 3A92 st -y,R3
094E 2A92 st -y,R2
0950 00E0 ldi R16,<L39
0952 10E0 ldi R17,>L39
0954 0E940000 xcall lpm32
0958 3A93 st -y,R19
095A 2A93 st -y,R18
095C 1A93 st -y,R17
095E 0A93 st -y,R16
0960 0E940000 xcall cmp32f
0964 D4F0 brlt L63
0966 FE01 movw R30,R28
0968 2480 ldd R2,z+4
096A 3580 ldd R3,z+5
096C 4680 ldd R4,z+6
096E 5780 ldd R5,z+7
0970 5A92 st -y,R5
0972 4A92 st -y,R4
0974 3A92 st -y,R3
0976 2A92 st -y,R2
0978 00E0 ldi R16,<L39
097A 10E0 ldi R17,>L39
097C 0E940000 xcall lpm32
0980 3A93 st -y,R19
0982 2A93 st -y,R18
0984 1A93 st -y,R17
0986 0A93 st -y,R16
0988 0E940000 xcall sub32f
098C 0E940000 xcall fp2int
0990 C801 movw R24,R16
0992 8050 subi R24,0 ; offset = 32768
0994 9048 sbci R25,128
0996 5C01 movw R10,R24
0998 08C0 xjmp L64
099A L63:
099A FE01 movw R30,R28
099C 0481 ldd R16,z+4
099E 1581 ldd R17,z+5
09A0 2681 ldd R18,z+6
09A2 3781 ldd R19,z+7
09A4 0E940000 xcall fp2int
09A8 5801 movw R10,R16
09AA L64:
09AA B501 movw R22,R10
09AC .dbline 227
09AC ; temp=temp2%10;// 12.34*100%10=4
09AC 2AE0 ldi R18,10
09AE 30E0 ldi R19,0
09B0 8B01 movw R16,R22
09B2 0E940000 xcall mod16u
09B6 402F mov R20,R16
09B8 .dbline 228
09B8 ; display_one(0,temp);
09B8 242F mov R18,R20
09BA 0027 clr R16
09BC 43DB xcall _display_one
09BE .dbline 229
09BE ; delay_ms(6);
09BE 06E0 ldi R16,6
09C0 10E0 ldi R17,0
09C2 27DB xcall _delay_ms
09C4 .dbline 230
09C4 ; led_contrl_port |= (1<<4);
09C4 949A sbi 0x12,4
09C6 .dbline 231
09C6 ; }
09C6 5AC1 xjmp L56
09C8 L55:
09C8 .dbline 232
09C8 ; else if(data<1000) //比如123.4
09C8 FE01 movw R30,R28
09CA 2688 ldd R2,z+22
09CC 3788 ldd R3,z+23
09CE 408C ldd R4,z+24
09D0 518C ldd R5,z+25
09D2 5A92 st -y,R5
09D4 4A92 st -y,R4
09D6 3A92 st -y,R3
09D8 2A92 st -y,R2
09DA 00E0 ldi R16,<L29
09DC 10E0 ldi R17,>L29
09DE 0E940000 xcall lpm32
09E2 3A93 st -y,R19
09E4 2A93 st -y,R18
09E6 1A93 st -y,R17
09E8 0A93 st -y,R16
09EA 0E940000 xcall cmp32f
09EE 0CF0 brlt X5
09F0 44C1 xjmp L65
09F2 X5:
09F2 .dbline 233
09F2 ; {
09F2 .dbline 234
09F2 ; temp2=data;
09F2 FE01 movw R30,R28
09F4 2688 ldd R2,z+22
09F6 3788 ldd R3,z+23
09F8 408C ldd R4,z+24
09FA 518C ldd R5,z+25
09FC 5A92 st -y,R5
09FE 4A92 st -y,R4
0A00 3A92 st -y,R3
0A02 2A92 st -y,R2
0A04 00E0 ldi R16,<L39
0A06 10E0 ldi R17,>L39
0A08 0E940000 xcall lpm32
0A0C 3A93 st -y,R19
0A0E 2A93 st -y,R18
0A10 1A93 st -y,R17
0A12 0A93 st -y,R16
0A14 0E940000 xcall cmp32f
0A18 D4F0 brlt L67
0A1A FE01 movw R30,R28
0A1C 2688 ldd R2,z+22
0A1E 3788 ldd R3,z+23
0A20 408C ldd R4,z+24
0A22 518C ldd R5,z+25
0A24 5A92 st -y,R5
0A26 4A92 st -y,R4
0A28 3A92 st -y,R3
0A2A 2A92 st -y,R2
0A2C 00E0 ldi R16,<L39
0A2E 10E0 ldi R17,>L39
0A30 0E940000 xcall lpm32
0A34 3A93 st -y,R19
0A36 2A93 st -y,R18
0A38 1A93 st -y,R17
0A3A 0A93 st -y,R16
0A3C 0E940000 xcall sub32f
0A40 0E940000 xcall fp2int
0A44 C801 movw R24,R16
0A46 8050 subi R24,0 ; offset = 32768
0A48 9048 sbci R25,128
0A4A 5C01 movw R10,R24
0A4C 08C0 xjmp L68
0A4E L67:
0A4E FE01 movw R30,R28
0A50 0689 ldd R16,z+22
0A52 1789 ldd R17,z+23
0A54 208D ldd R18,z+24
0A56 318D ldd R19,z+25
0A58 0E940000 xcall fp2int
0A5C 5801 movw R10,R16
0A5E L68:
0A5E B501 movw R22,R10
0A60 .dbline 235
0A60 ; temp=(temp2/100);// 123.4/100=1
0A60 24E6 ldi R18,100
0A62 30E0 ldi R19,0
0A64 8B01 movw R16,R22
0A66 0E940000 xcall div16u
0A6A 402F mov R20,R16
0A6C .dbline 236
0A6C ; display_one(7,temp);
0A6C 242F mov R18,R20
0A6E 07E0 ldi R16,7
0A70 E9DA xcall _display_one
0A72 .dbline 237
0A72 ; delay_ms(6);
0A72 06E0 ldi R16,6
0A74 10E0 ldi R17,0
0A76 CDDA xcall _delay_ms
0A78 .dbline 238
0A78 ; led_contrl_port |= (1<<7);
0A78 979A sbi 0x12,7
0A7A .dbline 240
0A7A ;
0A7A ; temp2=data/10;
0A7A FE01 movw R30,R28
0A7C 2688 ldd R2,z+22
0A7E 3788 ldd R3,z+23
0A80 408C ldd R4,z+24
0A82 518C ldd R5,z+25
0A84 5A92 st -y,R5
0A86 4A92 st -y,R4
0A88 3A92 st -y,R3
0A8A 2A92 st -y,R2
0A8C 00E0 ldi R16,<L38
0A8E 10E0 ldi R17,>L38
0A90 0E940000 xcall lpm32
0A94 3A93 st -y,R19
0A96 2A93 st -y,R18
0A98 1A93 st -y,R17
0A9A 0A93 st -y,R16
0A9C 0E940000 xcall div32f
0AA0 FE01 movw R30,R28
0AA2 0083 std z+0,R16
0AA4 1183
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -