⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spline.lis

📁 ssd1325控制器液晶的驱动程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0814 0CF4              brge X5
 0816 7BCF              xjmp L45
 0818           X5:
 0818                   .dbline 180
 0818           ;         {  Work[i] = (B[i] - sl->Mat[0][i] * WorkB[i-1] - sl->Mat[2][i] * WorkB[i+1]) / sl->Mat[1][i];
 0818           ;         }
 0818           ;         Work[sl->Np-1] = (B[sl->Np-1] - sl->Mat[0][sl->Np-1] * WorkB[sl->Np-2]) / sl->Mat[1][sl->Np-1];
 0818 DE01              movw R26,R28
 081A A65A              subi R26,166  ; addi 90
 081C BF4F              sbci R27,255
 081E ED91              ld R30,x+
 0820 FC91              ld R31,x
 0822 E854              subi R30,72  ; addi 440
 0824 FE4F              sbci R31,254
 0826 2081              ldd R18,z+0
 0828 3181              ldd R19,z+1
 082A 04E0              ldi R16,4
 082C 10E0              ldi R17,0
 082E 0E940000          xcall empy16s
 0832 1801              movw R2,R16
 0834 C101              movw R24,R2
 0836 0497              sbiw R24,4
 0838 2C01              movw R4,R24
 083A FC01              movw R30,R24
 083C EE0D              add R30,R14
 083E FF1D              adc R31,R15
 0840 6080              ldd R6,z+0
 0842 7180              ldd R7,z+1
 0844 8280              ldd R8,z+2
 0846 9380              ldd R9,z+3
 0848 9A92              st -y,R9
 084A 8A92              st -y,R8
 084C 7A92              st -y,R7
 084E 6A92              st -y,R6
 0850            ; stack offset 4
 0850 FE01              movw R30,R28
 0852 E25A              subi R30,162  ; addi 94
 0854 FF4F              sbci R31,255
 0856 8081              ldd R24,z+0
 0858 9181              ldd R25,z+1
 085A 805C              subi R24,192  ; offset = 320
 085C 9E4F              sbci R25,254
 085E F201              movw R30,R4
 0860 E80F              add R30,R24
 0862 F91F              adc R31,R25
 0864 6080              ldd R6,z+0
 0866 7180              ldd R7,z+1
 0868 8280              ldd R8,z+2
 086A 9380              ldd R9,z+3
 086C 9A92              st -y,R9
 086E 8A92              st -y,R8
 0870 7A92              st -y,R7
 0872 6A92              st -y,R6
 0874 CE01              movw R24,R28
 0876            ; stack offset 8
 0876 F101              movw R30,R2
 0878 E80F              add R30,R24
 087A F91F              adc R31,R25
 087C 6080              ldd R6,z+0
 087E 7180              ldd R7,z+1
 0880 8280              ldd R8,z+2
 0882 9380              ldd R9,z+3
 0884 9A92              st -y,R9
 0886 8A92              st -y,R8
 0888 7A92              st -y,R7
 088A 6A92              st -y,R6
 088C 0E940000          xcall empy32fs
 0890 0E940000          xcall sub32fs
 0894            ; stack offset 4
 0894 FE01              movw R30,R28
 0896 E25A              subi R30,162  ; addi 94
 0898 FF4F              sbci R31,255
 089A 8081              ldd R24,z+0
 089C 9181              ldd R25,z+1
 089E 8859              subi R24,152  ; offset = 360
 08A0 9E4F              sbci R25,254
 08A2 F201              movw R30,R4
 08A4 E80F              add R30,R24
 08A6 F91F              adc R31,R25
 08A8 4080              ldd R4,z+0
 08AA 5180              ldd R5,z+1
 08AC 6280              ldd R6,z+2
 08AE 7380              ldd R7,z+3
 08B0 7A92              st -y,R7
 08B2 6A92              st -y,R6
 08B4 5A92              st -y,R5
 08B6 4A92              st -y,R4
 08B8 0E940000          xcall div32f
 08BC CE01              movw R24,R28
 08BE 8496              adiw R24,36
 08C0 F101              movw R30,R2
 08C2 E80F              add R30,R24
 08C4 F91F              adc R31,R25
 08C6 0083              std z+0,R16
 08C8 1183              std z+1,R17
 08CA 2283              std z+2,R18
 08CC 3383              std z+3,R19
 08CE                   .dbline 182
 08CE           ; 
 08CE           ;         for(i=0; i<=(sl->Np-1); i++) 
 08CE CC24              clr R12
 08D0 DD24              clr R13
 08D2 19C0              xjmp L56
 08D4           L53:
 08D4                   .dbline 183
 08D4                   .dbline 183
 08D4 04E0              ldi R16,4
 08D6 10E0              ldi R17,0
 08D8 9601              movw R18,R12
 08DA 0E940000          xcall empy16s
 08DE CE01              movw R24,R28
 08E0 8896              adiw R24,40
 08E2 F801              movw R30,R16
 08E4 E80F              add R30,R24
 08E6 F91F              adc R31,R25
 08E8 2080              ldd R2,z+0
 08EA 3180              ldd R3,z+1
 08EC 4280              ldd R4,z+2
 08EE 5380              ldd R5,z+3
 08F0 CE01              movw R24,R28
 08F2 F801              movw R30,R16
 08F4 E80F              add R30,R24
 08F6 F91F              adc R31,R25
 08F8 2082              std z+0,R2
 08FA 3182              std z+1,R3
 08FC 4282              std z+2,R4
 08FE 5382              std z+3,R5
 0900                   .dbline 184
 0900           L54:
 0900                   .dbline 182
 0900 C601              movw R24,R12
 0902 0196              adiw R24,1
 0904 6C01              movw R12,R24
 0906           L56:
 0906                   .dbline 182
 0906 DE01              movw R26,R28
 0908 A65A              subi R26,166  ; addi 90
 090A BF4F              sbci R27,255
 090C ED91              ld R30,x+
 090E FC91              ld R31,x
 0910 E854              subi R30,72  ; addi 440
 0912 FE4F              sbci R31,254
 0914 8081              ldd R24,z+0
 0916 9181              ldd R25,z+1
 0918 0197              sbiw R24,1
 091A 8C15              cp R24,R12
 091C 9D05              cpc R25,R13
 091E 0CF0              brlt X6
 0920 D9CF              xjmp L53
 0922           X6:
 0922                   .dbline 185
 0922           L41:
 0922                   .dbline 175
 0922 C501              movw R24,R10
 0924 0196              adiw R24,1
 0926 5C01              movw R10,R24
 0928                   .dbline 175
 0928 8A30              cpi R24,10
 092A E0E0              ldi R30,0
 092C 9E07              cpc R25,R30
 092E 0CF4              brge X7
 0930 AFCE              xjmp L40
 0932           X7:
 0932                   .dbline 187
 0932           ;         {  WorkB[i] = Work[i];
 0932           ;         }
 0932           ;    }
 0932           ;    
 0932           ;    for(i=0; i<=(sl->Np-1); i++) 
 0932 CC24              clr R12
 0934 DD24              clr R13
 0936 18C0              xjmp L60
 0938           L57:
 0938                   .dbline 188
 0938                   .dbline 188
 0938 04E0              ldi R16,4
 093A 10E0              ldi R17,0
 093C 9601              movw R18,R12
 093E 0E940000          xcall empy16s
 0942 CE01              movw R24,R28
 0944 8896              adiw R24,40
 0946 F801              movw R30,R16
 0948 E80F              add R30,R24
 094A F91F              adc R31,R25
 094C 2080              ldd R2,z+0
 094E 3180              ldd R3,z+1
 0950 4280              ldd R4,z+2
 0952 5380              ldd R5,z+3
 0954 F801              movw R30,R16
 0956 EE0D              add R30,R14
 0958 FF1D              adc R31,R15
 095A 2082              std z+0,R2
 095C 3182              std z+1,R3
 095E 4282              std z+2,R4
 0960 5382              std z+3,R5
 0962                   .dbline 189
 0962           L58:
 0962                   .dbline 187
 0962 C601              movw R24,R12
 0964 0196              adiw R24,1
 0966 6C01              movw R12,R24
 0968           L60:
 0968                   .dbline 187
 0968 DE01              movw R26,R28
 096A A65A              subi R26,166  ; addi 90
 096C BF4F              sbci R27,255
 096E ED91              ld R30,x+
 0970 FC91              ld R31,x
 0972 E854              subi R30,72  ; addi 440
 0974 FE4F              sbci R31,254
 0976 8081              ldd R24,z+0
 0978 9181              ldd R25,z+1
 097A 0197              sbiw R24,1
 097C 8C15              cp R24,R12
 097E 9D05              cpc R25,R13
 0980 DCF6              brge L57
 0982                   .dbline -2
 0982           L35:
 0982 EF96              adiw R28,63
 0984 6196              adiw R28,17  ; offset = 80
 0986 0E940000          xcall pop_gset5
 098A 2496              adiw R28,4
 098C                   .dbline 0 ; func end
 098C 0895              ret
 098E                   .dbsym r j 10 I
 098E                   .dbsym l Work 40 A[40:10]D
 098E                   .dbsym l WorkB 0 A[40:10]D
 098E                   .dbsym r i 12 I
 098E                   .dbsym r B 14 pD
 098E                   .dbsym l sl 90 pX
 098E                   .dbend
 098E                   .dbfunc e SPLINE_Generate _SPLINE_Generate fV
 098E           ;        AMagOld -> y+44
 098E           ;           AMag -> y+40
 098E           ;              k -> y+0
 098E           ;              i -> R10,R11
 098E           ;             sl -> R12,R13
                        .even
 098E           _SPLINE_Generate::
 098E 0E940000          xcall push_gset4
 0992 6801              movw R12,R16
 0994 EF97              sbiw R28,63
 0996 2197              sbiw R28,1  ; offset = 64
 0998                   .dbline -1
 0998                   .dbline 203
 0998           ;    {  B[i] = Work[i];
 0998           ;    }
 0998           ;    
 0998           ; }
 0998           ; 
 0998           ; 
 0998           ; 
 0998           ; /****************************************************************************
 0998           ; * 名称:SPLINE_Generate()
 0998           ; * 功能:产生样条曲线图形。产生的各个端点保存到sl的结构内。
 0998           ; * 入口参数:sl                要操作的样条曲线对象,SPLINE结构
 0998           ; * 出口参数:无
 0998           ; * 说明:sl要先使用SPLINE_SetSpline()设置各个特征点。
 0998           ; ****************************************************************************/
 0998           ; void  SPLINE_Generate(SPLINE *sl) 
 0998           ; {  float  k[NPMAX];
 0998                   .dbline 208
 0998           ;    float  AMag , AMagOld;
 0998           ;    int    i;
 0998           ; 
 0998           ;    /* 设置A点值 */
 0998           ;    for(i=0 ; i<=(sl->Np-2); i++ ) 
 0998 AA24              clr R10
 099A BB24              clr R11
 099C 56C0              xjmp L65
 099E           L62:
 099E                   .dbline 209
 099E                   .dbline 209
 099E 04E0              ldi R16,4
 09A0 10E0              ldi R17,0
 09A2 9501              movw R18,R10
 09A4 0E940000          xcall empy16s
 09A8 1801              movw R2,R16
 09AA 2101              movw R4,R2
 09AC 4C0C              add R4,R12
 09AE 5D1C              adc R5,R13
 09B0 F201              movw R30,R4
 09B2 6480              ldd R6,z+4
 09B4 7580              ldd R7,z+5
 09B6 8680              ldd R8,z+6
 09B8 9780              ldd R9,z+7
 09BA 9A92              st -y,R9
 09BC 8A92              st -y,R8
 09BE 7A92              st -y,R7
 09C0 6A92              st -y,R6
 09C2 F201              movw R30,R4
 09C4 4080              ldd R4,z+0
 09C6 5180              ldd R5,z+1
 09C8 6280              ldd R6,z+2
 09CA 7380              ldd R7,z+3
 09CC 7A92              st -y,R7
 09CE 6A92              st -y,R6
 09D0 5A92              st -y,R5
 09D2 4A92              st -y,R4
 09D4 0E940000          xcall sub32f
 09D8 C601              movw R24,R12
 09DA 805B              subi R24,176  ; offset = 80
 09DC 9F4F              sbci R25,255
 09DE F101              movw R30,R2
 09E0 E80F              add R30,R24
 09E2 F91F              adc R31,R25
 09E4 0083              std z+0,R16
 09E6 1183              std z+1,R17
 09E8 2283              std z+2,R18
 09EA 3383              std z+3,R19
 09EC                   .dbline 210
 09EC 04E0              ldi R16,4
 09EE 10E0              ldi R17,0
 09F0 9501              movw R18,R10
 09F2 0E940000          xcall empy16s
 09F6 1801              movw R2,R16
 09F8 C601              movw R24,R12
 09FA 8C96              adiw R24,44
 09FC F101              movw R30,R2
 09FE E80F              add R30,R24
 0A00 F91F              adc R31,R25
 0A02 4080              ldd R4,z+0
 0A04 5180              ldd R5,z+1
 0A06 6280              ldd R6,z+2
 0A08 7380              ldd R7,z+3
 0A0A 7A92              st -y,R7
 0A0C 6A92              st -y,R6
 0A0E 5A92              st -y,R5
 0A10 4A92              st -y,R4
 0A12 C601              movw R24,R12
 0A14 8896              adiw R24,40
 0A16 F101              movw R30,R2
 0A18 E80F              add R30,R24
 0A1A F91F              adc R31,R25
 0A1C 4080              ldd R4,z+0
 0A1E 5180              ldd R5,z+1
 0A20 6280              ldd R6,z+2
 0A22 7380              ldd R7,z+3
 0A24

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -