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

📄 spline.lis

📁 ssd1325控制器液晶的驱动程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 05CE 0E940000          xcall push_arg4
 05D2 0E940000          xcall push_gset5
 05D6 7901              movw R14,R18
 05D8 EF97              sbiw R28,63
 05DA 6197              sbiw R28,17  ; offset = 80
 05DC                   .dbline -1
 05DC                   .dbline 166
 05DC           ;    {  sl->Px[i] = (float)pt[i].x;  
 05DC           ;         sl->Py[i] = (float)pt[i].y;
 05DC           ;    }
 05DC           ; }
 05DC           ; 
 05DC           ; 
 05DC           ; 
 05DC           ; /****************************************************************************
 05DC           ; * 名称:SPLINE_MatrixSolve()
 05DC           ; * 功能:求解矩阵。
 05DC           ; * 入口参数:sl                要操作的样条曲线对象,SPLINE结构
 05DC           ; *          B          需操作B点数据(数组)
 05DC           ; * 出口参数:无
 05DC           ; * 说明:由SPLINE_Generate()调用,计算值保存在B返回。
 05DC           ; ****************************************************************************/
 05DC           ; void  SPLINE_MatrixSolve(SPLINE *sl, float B[]) 
 05DC           ; {  float  Work[NPMAX];
 05DC                   .dbline 170
 05DC           ;    float  WorkB[NPMAX];
 05DC           ;    int    i, j;
 05DC           ;               
 05DC           ;    for(i=0; i<=(sl->Np-1); i++) 
 05DC CC24              clr R12
 05DE DD24              clr R13
 05E0 47C0              xjmp L39
 05E2           L36:
 05E2                   .dbline 171
 05E2                   .dbline 171
 05E2 04E0              ldi R16,4
 05E4 10E0              ldi R17,0
 05E6 9601              movw R18,R12
 05E8 0E940000          xcall empy16s
 05EC 1801              movw R2,R16
 05EE F101              movw R30,R2
 05F0 EE0D              add R30,R14
 05F2 FF1D              adc R31,R15
 05F4 4080              ldd R4,z+0
 05F6 5180              ldd R5,z+1
 05F8 6280              ldd R6,z+2
 05FA 7380              ldd R7,z+3
 05FC 7A92              st -y,R7
 05FE 6A92              st -y,R6
 0600 5A92              st -y,R5
 0602 4A92              st -y,R4
 0604            ; stack offset 4
 0604 FE01              movw R30,R28
 0606 E25A              subi R30,162  ; addi 94
 0608 FF4F              sbci R31,255
 060A 8081              ldd R24,z+0
 060C 9181              ldd R25,z+1
 060E 8859              subi R24,152  ; offset = 360
 0610 9E4F              sbci R25,254
 0612 F101              movw R30,R2
 0614 E80F              add R30,R24
 0616 F91F              adc R31,R25
 0618 4080              ldd R4,z+0
 061A 5180              ldd R5,z+1
 061C 6280              ldd R6,z+2
 061E 7380              ldd R7,z+3
 0620 7A92              st -y,R7
 0622 6A92              st -y,R6
 0624 5A92              st -y,R5
 0626 4A92              st -y,R4
 0628 0E940000          xcall div32f
 062C CE01              movw R24,R28
 062E 8896              adiw R24,40
 0630 F101              movw R30,R2
 0632 E80F              add R30,R24
 0634 F91F              adc R31,R25
 0636 0083              std z+0,R16
 0638 1183              std z+1,R17
 063A 2283              std z+2,R18
 063C 3383              std z+3,R19
 063E                   .dbline 172
 063E 04E0              ldi R16,4
 0640 10E0              ldi R17,0
 0642 9601              movw R18,R12
 0644 0E940000          xcall empy16s
 0648 CE01              movw R24,R28
 064A 8896              adiw R24,40
 064C F801              movw R30,R16
 064E E80F              add R30,R24
 0650 F91F              adc R31,R25
 0652 2080              ldd R2,z+0
 0654 3180              ldd R3,z+1
 0656 4280              ldd R4,z+2
 0658 5380              ldd R5,z+3
 065A CE01              movw R24,R28
 065C F801              movw R30,R16
 065E E80F              add R30,R24
 0660 F91F              adc R31,R25
 0662 2082              std z+0,R2
 0664 3182              std z+1,R3
 0666 4282              std z+2,R4
 0668 5382              std z+3,R5
 066A                   .dbline 173
 066A           L37:
 066A                   .dbline 170
 066A C601              movw R24,R12
 066C 0196              adiw R24,1
 066E 6C01              movw R12,R24
 0670           L39:
 0670                   .dbline 170
 0670 DE01              movw R26,R28
 0672 A65A              subi R26,166  ; addi 90
 0674 BF4F              sbci R27,255
 0676 ED91              ld R30,x+
 0678 FC91              ld R31,x
 067A E854              subi R30,72  ; addi 440
 067C FE4F              sbci R31,254
 067E 8081              ldd R24,z+0
 0680 9181              ldd R25,z+1
 0682 0197              sbiw R24,1
 0684 8C15              cp R24,R12
 0686 9D05              cpc R25,R13
 0688 0CF0              brlt X4
 068A ABCF              xjmp L36
 068C           X4:
 068C                   .dbline 175
 068C           ;    {  Work[i] = B[i] / sl->Mat[1][i];
 068C           ;         WorkB[i] = Work[i];
 068C           ;    }
 068C           ; 
 068C           ;    for(j=0; j<10; j++) 
 068C AA24              clr R10
 068E BB24              clr R11
 0690           L40:
 0690                   .dbline 176
 0690           ;    {  Work[0] = (B[0] - sl->Mat[2][0] * WorkB[1]) / sl->Mat[1][0];
 0690                   .dbline 176
 0690 F701              movw R30,R14
 0692 2080              ldd R2,z+0
 0694 3180              ldd R3,z+1
 0696 4280              ldd R4,z+2
 0698 5380              ldd R5,z+3
 069A 5A92              st -y,R5
 069C 4A92              st -y,R4
 069E 3A92              st -y,R3
 06A0 2A92              st -y,R2
 06A2            ; stack offset 4
 06A2 DE01              movw R26,R28
 06A4 A25A              subi R26,162  ; addi 94
 06A6 BF4F              sbci R27,255
 06A8 ED91              ld R30,x+
 06AA FC91              ld R31,x
 06AC E057              subi R30,112  ; addi 400
 06AE FE4F              sbci R31,254
 06B0 2080              ldd R2,z+0
 06B2 3180              ldd R3,z+1
 06B4 4280              ldd R4,z+2
 06B6 5380              ldd R5,z+3
 06B8 5A92              st -y,R5
 06BA 4A92              st -y,R4
 06BC 3A92              st -y,R3
 06BE 2A92              st -y,R2
 06C0 FE01              movw R30,R28
 06C2            ; stack offset 8
 06C2 2484              ldd R2,z+12
 06C4 3584              ldd R3,z+13
 06C6 4684              ldd R4,z+14
 06C8 5784              ldd R5,z+15
 06CA 5A92              st -y,R5
 06CC 4A92              st -y,R4
 06CE 3A92              st -y,R3
 06D0 2A92              st -y,R2
 06D2 0E940000          xcall empy32fs
 06D6 0E940000          xcall sub32fs
 06DA            ; stack offset 4
 06DA DE01              movw R26,R28
 06DC A25A              subi R26,162  ; addi 94
 06DE BF4F              sbci R27,255
 06E0 ED91              ld R30,x+
 06E2 FC91              ld R31,x
 06E4 E859              subi R30,152  ; addi 360
 06E6 FE4F              sbci R31,254
 06E8 2080              ldd R2,z+0
 06EA 3180              ldd R3,z+1
 06EC 4280              ldd R4,z+2
 06EE 5380              ldd R5,z+3
 06F0 5A92              st -y,R5
 06F2 4A92              st -y,R4
 06F4 3A92              st -y,R3
 06F6 2A92              st -y,R2
 06F8 0E940000          xcall div32f
 06FC FE01              movw R30,R28
 06FE 00A7              std z+40,R16
 0700 11A7              std z+41,R17
 0702 22A7              std z+42,R18
 0704 33A7              std z+43,R19
 0706                   .dbline 177
 0706           ;         for(i=1; i<(sl->Np-1); i++ ) 
 0706 81E0              ldi R24,1
 0708 90E0              ldi R25,0
 070A 6C01              movw R12,R24
 070C 77C0              xjmp L48
 070E           L45:
 070E                   .dbline 178
 070E                   .dbline 178
 070E 04E0              ldi R16,4
 0710 10E0              ldi R17,0
 0712 9601              movw R18,R12
 0714 0E940000          xcall empy16s
 0718 1801              movw R2,R16
 071A F101              movw R30,R2
 071C EE0D              add R30,R14
 071E FF1D              adc R31,R15
 0720 4080              ldd R4,z+0
 0722 5180              ldd R5,z+1
 0724 6280              ldd R6,z+2
 0726 7380              ldd R7,z+3
 0728 7A92              st -y,R7
 072A 6A92              st -y,R6
 072C 5A92              st -y,R5
 072E 4A92              st -y,R4
 0730            ; stack offset 4
 0730 FE01              movw R30,R28
 0732 E25A              subi R30,162  ; addi 94
 0734 FF4F              sbci R31,255
 0736 8081              ldd R24,z+0
 0738 9181              ldd R25,z+1
 073A 805C              subi R24,192  ; offset = 320
 073C 9E4F              sbci R25,254
 073E F101              movw R30,R2
 0740 E80F              add R30,R24
 0742 F91F              adc R31,R25
 0744 4080              ldd R4,z+0
 0746 5180              ldd R5,z+1
 0748 6280              ldd R6,z+2
 074A 7380              ldd R7,z+3
 074C 7A92              st -y,R7
 074E 6A92              st -y,R6
 0750 5A92              st -y,R5
 0752 4A92              st -y,R4
 0754 CE01              movw R24,R28
 0756            ; stack offset 8
 0756 0496              adiw R24,4
 0758 F101              movw R30,R2
 075A E80F              add R30,R24
 075C F91F              adc R31,R25
 075E 4080              ldd R4,z+0
 0760 5180              ldd R5,z+1
 0762 6280              ldd R6,z+2
 0764 7380              ldd R7,z+3
 0766 7A92              st -y,R7
 0768 6A92              st -y,R6
 076A 5A92              st -y,R5
 076C 4A92              st -y,R4
 076E 0E940000          xcall empy32fs
 0772 0E940000          xcall sub32fs
 0776            ; stack offset 4
 0776 FE01              movw R30,R28
 0778 E25A              subi R30,162  ; addi 94
 077A FF4F              sbci R31,255
 077C 8081              ldd R24,z+0
 077E 9181              ldd R25,z+1
 0780 8057              subi R24,112  ; offset = 400
 0782 9E4F              sbci R25,254
 0784 F101              movw R30,R2
 0786 E80F              add R30,R24
 0788 F91F              adc R31,R25
 078A 4080              ldd R4,z+0
 078C 5180              ldd R5,z+1
 078E 6280              ldd R6,z+2
 0790 7380              ldd R7,z+3
 0792 7A92              st -y,R7
 0794 6A92              st -y,R6
 0796 5A92              st -y,R5
 0798 4A92              st -y,R4
 079A CE01              movw R24,R28
 079C            ; stack offset 8
 079C 0C96              adiw R24,12
 079E F101              movw R30,R2
 07A0 E80F              add R30,R24
 07A2 F91F              adc R31,R25
 07A4 4080              ldd R4,z+0
 07A6 5180              ldd R5,z+1
 07A8 6280              ldd R6,z+2
 07AA 7380              ldd R7,z+3
 07AC 7A92              st -y,R7
 07AE 6A92              st -y,R6
 07B0 5A92              st -y,R5
 07B2 4A92              st -y,R4
 07B4 0E940000          xcall empy32fs
 07B8 0E940000          xcall sub32fs
 07BC            ; stack offset 4
 07BC FE01              movw R30,R28
 07BE E25A              subi R30,162  ; addi 94
 07C0 FF4F              sbci R31,255
 07C2 8081              ldd R24,z+0
 07C4 9181              ldd R25,z+1
 07C6 8859              subi R24,152  ; offset = 360
 07C8 9E4F              sbci R25,254
 07CA F101              movw R30,R2
 07CC E80F              add R30,R24
 07CE F91F              adc R31,R25
 07D0 4080              ldd R4,z+0
 07D2 5180              ldd R5,z+1
 07D4 6280              ldd R6,z+2
 07D6 7380              ldd R7,z+3
 07D8 7A92              st -y,R7
 07DA 6A92              st -y,R6
 07DC 5A92              st -y,R5
 07DE 4A92              st -y,R4
 07E0 0E940000          xcall div32f
 07E4 CE01              movw R24,R28
 07E6 8896              adiw R24,40
 07E8 F101              movw R30,R2
 07EA E80F              add R30,R24
 07EC F91F              adc R31,R25
 07EE 0083              std z+0,R16
 07F0 1183              std z+1,R17
 07F2 2283              std z+2,R18
 07F4 3383              std z+3,R19
 07F6                   .dbline 179
 07F6           L46:
 07F6                   .dbline 177
 07F6 C601              movw R24,R12
 07F8 0196              adiw R24,1
 07FA 6C01              movw R12,R24
 07FC           L48:
 07FC                   .dbline 177
 07FC DE01              movw R26,R28
 07FE A65A              subi R26,166  ; addi 90
 0800 BF4F              sbci R27,255
 0802 ED91              ld R30,x+
 0804 FC91              ld R31,x
 0806 E854              subi R30,72  ; addi 440
 0808 FE4F              sbci R31,254
 080A 8081              ldd R24,z+0
 080C 9181              ldd R25,z+1
 080E 0197              sbiw R24,1
 0810 C816              cp R12,R24
 0812 D906              cpc R13,R25

⌨️ 快捷键说明

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