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

📄 sat.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 5 页
字号:
+                   602 ;// Computing LR coefficient B      
+                   603 ; Input:No
+                   604 ; Output:OperandZ                                     
03A7                605 LR_CalcB::
03A7 20 01 00       606                         call XSquDiff_Trans_X       ;XYMulDiff/XSquDiff
03AA 20 00 00       607                         call .X_trans_Y         
03AD 20 02 18       608                         call XYMulDiff_Trans_X  
03B0 20 00 00       609                         call Division           
03B3 24             610                         ret                     
+                   611            
+                   612 ;// Computing LR coefficient A                                 
+                   613 ;Input:No
+                   614 ;Output:OperandZ
03B4                615 LR_CalcA::
03B4 20 03 A7       616                         call  LR_CalCB              ;YSum-(LR_CalCB()*XSum)
03B7 20 00 00       617                         call  .Z_trans_X  
03BA 20 00 74       618                         call  XSum_Trans_Y
03BD 20 00 00       619                         call  Multiplation
03C0 20 01 14       620                         call  YSum_Trans_Y
03C3 20 00 00       621                         call  .Y_trans_X  
03C6 20 00 00       622                         call  .Z_trans_Y  
03C9 20 00 00       623                         call  Subtration  
03CC 20 00 00       624                         call  .Z_trans_X            ;(YSum-(LR_CalCB()*XSum))/XCnt
03CF 20 00 60       625                         call  XCnt_Trans_Y
03D2 20 00 00       626                         call  Division    
03D5 24             627                         ret               
+                   628 ;// Computing LR regression's coefficient R                                            
+                   629 ; Input:No
+                   630 ; Output:OperandZ                                     
03D6                631 LR_CalcR::
03D6                632 QR_CalcR::
03D6 20 01 A0       633                         call YSquDiff_Trans_X     ;XSquDiff*YSquDiff
03D9 20 00 00       634                         call .X_trans_Y           
03DC 20 01 00       635                         call XSquDiff_Trans_X  
03DF 20 00 00       636                         call Multiplation      
03E2 20 00 00       637                         call .Z_trans_X        
03E5 20 00 00       638                         call Squ                  ;Sqrt(XSquDiff*YSquDiff) 
03E8 20 00 00       639                         call .Z_trans_Y        
03EB 20 02 18       640                         call XYMulDiff_Trans_X 
03EE 20 00 00       641                         call Division             ;XYMulDiff/sqrt(XSquDiff*YSquDiff) 
03F1 24             642                         ret                    
+                   643 ;Exp reg                        
03F2                644 LR_ExpEstimateX::
03F2 20 00 00       645                         call .X_trans_S          
03F5 20 03 B4       646                         call  LR_CalcA           
03F8 20 00 00       647                         call .Z_trans_X 
03FB 20 00 00       648                         call Ex
03FE 20 00 00       649                         call .Z_trans_Y
0401 20 00 00       650                         call .S_trans_X
0404 20 00 00       651                         call  Division
0407 20 00 00       652                         call  .Z_trans_X
040A 20 00 00       653                         call  Ln                 ;Ln(OperandX/LR_CalCA)            
040D 20 00 00       654                         call .Z_trans_S
0410 20 03 A7       655                         call  LR_CalcB
0413 20 00 00       656                         call .Z_trans_Y
0416 20 00 00       657                         call .S_trans_X
0419 20 00 00       658                         call  Division           ;(OperandX-LR_CalCA)/LR_CalCB
041C 24             659                         ret           
+                   660                         
041D                661 LR_ExpEstimateY::
041D 20 00 00       662                         call .X_trans_S          
0420 20 03 A7       663                         call  LR_CalcB
0423 20 00 00       664                         call .Z_trans_Y
0426 20 00 00       665                         call .S_trans_X
0429 20 00 00       666                         call Multiplation
042C 20 00 00       667                         call .Z_trans_X 
042F 20 00 00       668                         call Ex
0432 20 00 00       669                         call .Z_trans_S
0435 20 03 B4       670                         call LR_CalcA           
0438 20 00 00       671                         call .Z_trans_X
043B 20 00 00       672                         call Ex
043E 20 00 00       673                         call .Z_trans_X 
0441 20 00 00       674                         call .S_trans_Y
0444 20 00 00       675                         call Multiplation 
0447 24             676                         ret         
+                   677 ;pwr reg                        
0448                678 LR_PwrEstimateX::
0448 20 03 F2       679                         call  LR_ExpEstimateX
044B 20 00 00       680                         call  .Z_trans_X
044E 20 00 00       681                         call  Ex                 
0451 24             682                         ret  
0452                683 LR_PwrEstimateY::
0452 20 00 00       684                         call  .X_trans_S
0455 20 03 A7       685                         call  LR_CalcB
0458 20 00 00       686                         call  .Z_trans_Y
045B 20 00 00       687                         call  .S_trans_X
045E 20 00 00       688                         call  .Pow_x_y
0461 20 00 00       689                         call  .Z_trans_S
0464 20 03 B4       690                         call  LR_CalcA
0467 20 00 00       691                         call .Z_trans_X 
046A 20 00 00       692                         call  Ex                 
046D 20 00 00       693                         call  .Z_trans_X
0470 20 00 00       694                         call  .S_trans_Y
0473 20 00 00       695                         call  Multiplation 
0476 24             696                         ret
+                   697 ;log reg                                                                      
0477                698 LR_LnEstimateX::
0477 20 04 B4       699                         call  LR_EstimateX
047A 20 00 00       700                         call  .Z_trans_X
047D 20 00 00       701                         call  Ex
0480 24             702                         ret
+                   703                         
0481                704 LR_LnEstimateY::
0481 20 00 00       705                         call  Ln
0484 20 00 00       706                         call  .Z_trans_X
0487 20 04 D3       707                         call  LR_EstimateY            
048A 24             708                         ret                        
+                   709 ;inv reg                                       
048B                710 LR_InvEstimateX::
048B 20 00 00       711                         call .X_trans_S          
048E 20 03 B4       712                         call LR_CalcA           
0491 20 00 00       713                         call .Z_trans_Y
0494 20 00 00       714                         call .S_trans_X
0497 20 00 00       715                         call  Subtration         ;OperandX-LR_CalCA            
049A 20 00 00       716                         call .Z_trans_S
049D 20 03 A7       717                         call  LR_CalcB
04A0 20 00 00       718                         call .Z_trans_X
04A3 20 00 00       719                         call .S_trans_Y
04A6 20 00 00       720                         call  Division           
04A9 24             721                         ret
+                   722                         
04AA                723 LR_InvEstimateY::
04AA 20 00 00       724                         call  .ReciX
04AD 20 00 00       725                         call  .Z_trans_X
04B0 20 04 D3       726                         call  LR_EstimateY            
04B3 24             727                         ret
+                   728                                                                
+                   729 ;// Computing X's estimation           
+                   730 ;Input:OperandX
+                   731 ;Output:OperandZ
04B4                732 LR_EstimateX::
04B4 20 00 00       733                         call .X_trans_S          
04B7 20 03 B4       734                         call LR_CalcA           
04BA 20 00 00       735                         call .Z_trans_Y
04BD 20 00 00       736                         call .S_trans_X
04C0 20 00 00       737                         call  Subtration         ;OperandX-LR_CalCA            
04C3 20 00 00       738                         call .Z_trans_S
04C6 20 03 A7       739                         call  LR_CalcB
04C9 20 00 00       740                         call .Z_trans_Y
04CC 20 00 00       741                         call .S_trans_X
04CF 20 00 00       742                         call  Division           ;(OperandX-LR_CalCA)/LR_CalCB
04D2 24             743                         ret
+                   744            
+                   745 ;// Computing Y's estimation                      
+                   746 ;Input:OperandX
+                   747 ;Output:OperandZ
04D3                748 LR_EstimateY::
04D3 20 00 00       749                         call  .X_trans_S          
04D6 20 03 A7       750                         call  LR_CalCB             
04D9 20 00 00       751                         call  .Z_trans_Y
04DC 20 00 00       752                         call  .S_trans_X
04DF 20 00 00       753                         call  Multiplation      ;OperandX*LR_CalCB   
04E2 20 00 00       754                         call  .Z_trans_S
04E5 20 03 B4       755                         call  LR_CalcA
04E8 20 00 00       756                         call  .Z_trans_X
04EB 20 00 00       757                         call  .S_trans_Y
04EE 20 00 00       758                         call   Addition         ;LR_CalCA+OperandX*LR_CalCB   
04F1 24             759                         ret           
+                   760 
+                   761  ;;Compute SUM(x^2)
+                   762 ;Input:No
+                   763 ;Output:OperandZ
04F2                764 SD_CalcXSquSum::
04F2                765 LR_CalcXSquSum::
04F2                766 QR_CalcXSquSum::
04F2 20 00 9C       767                         call  XSquSum_Trans_X                                  
04F5 20 00 00       768                         call  .X_trans_Z           
04F8 24             769                         ret
+                   770 ;Compute SUM(X)                        
+                   771 ;Input:No
+                   772 ;Output:OperandZ                        
04F9                773 SD_CalcXSum:                        
04F9                774 LR_CalcXSum:    
04F9                775 QR_CalcXSum:               
04F9 20 00 74       776                         call  XSum_Trans_Y                                  
04FC 20 00 00       777                         call  .Y_trans_Z           
04FF 24             778                         ret
+                   779 ;Compute X's number(or count)                         
+                   780 ;Input:No
+                   781 ;Output:OperandZ                        
0500                782 SD_CalCXCnt::                        
0500                783 LR_CalcXCnt::
0500                784 LR_calcYCnt::
0500                785 QR_CalcXCnt::
0500                786 QR_calcYCnt::
0500 20 00 60       787                         call  XCnt_Trans_Y                                                             
0503 20 00 00       788                         call  .Y_trans_Z           
0506 24             789                         ret            
+                   790                         
+                   791 ;;Compute SUM(y^2)
+                   792 ;Input:No
+                   793 ;Output:OperandZ
0507                794 QR_CalcYSquSum::
0507                795 LR_CalcYSquSum::
0507 20 01 3C       796                         call  YSquSum_Trans_X                                  
050A 20 00 00       797                         call  .X_trans_Z           
050D 24             798                         ret
+                   799 ;Compute SUM(Y)                        
+                   800 ;Input:No
+                   801 ;Output:OperandZ                        
050E                802 QR_CalcYSum::

⌨️ 快捷键说明

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