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

📄 sat.asm

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
 OPERAND_CNT		EQU	0x08			;07			       			
 
                 .area   sat_var(data,abs)
; Page 4                 
                 ;.org     0x3c0
		  .org     0x3a5
SignLRX::		.ds	1
PointLRX::		.ds	1
OperandLRX::		.ds	 OPERAND_CNT

SignLRY::		.ds	1
PointLRY::		.ds	1
OperandLRY::		.ds	 OPERAND_CNT
;Computing SSD & PSD 
	  
 SignXSquDiff::  	.ds	1

 PointXSquDiff::	.ds	1

 XSquDiff::		.ds	OPERAND_CNT
;Computing SSD & PSD    
 SignYSquDiff::	        .ds	1
 PointYSquDiff::	.ds	1
 YSquDiff::		.ds	OPERAND_CNT
;Computing SSD & PSD    
 SignXYMulDiff::        .ds     1            
 PointXYMulDiff::       .ds     1
 XYMulDiff::            .ds     OPERAND_CNT 
SignXFourSum::         
Sign_Y::		.ds	1
PointXFourSum:          
Point_Y::		.ds	1
XFourSum::              
Operand_Y::		.ds	OPERAND_CNT 

SignXSquYSum::         
Sign_X::		.ds	1
PointXSquYSum::         
Point_X::		.ds	1
QRBufEnd::
XSquYSum::              
Operand_X::		.ds	OPERAND_CNT

SignXCubeSum::          
SignM::			.ds	1
PointXCubeSum::       
PointM::		.ds	1
XcubeSum:               
OperandM::		.ds	OPERAND_CNT
SignFa::
SignSatDataCnt::	.ds	1
PointFa::
PointSatDataCnt::   	.ds	1
OperandFa::
SatDataCnt::  		.ds	OPERAND_CNT


                      .area sat_code(code,rel) 
ClearBuf:
                        lda0	Param+1
			sta     DP
			lda0    Param+0
                        sta     PP
                        lda0	Param+2
			sta0	BufLen
			
LoopClearBuf:
			lda0	BufLen
			cmpe	#0h
			brz	EndClearBuf		
			lda	#0h
			sta	i
			incdp
			lda0	BufLen
			deca
			sta0	BufLen
			br      LoopClearBuf
EndClearBuf:		
			lda	#0h
			sta	PP
                        ret

;;

Tmp_Trans_X::
                        lda    #>SignTmp
                        sta0   .PXPP                
                        lda    #<SignTmp
                        sta0   .PXDP  
                        lda    #>SignX
                        sta0    .PYPP
                        lda    #<SignX
                        sta0   .PYDP
                        call   .CopyData           
			ret	
X_Trans_Tmp::
                        lda    #>SignX
                        sta0   .PXPP                
                        lda    #<SignX
                        sta0   .PXDP  
                        lda    #>SignTmp
                        sta0    .PYPP
                        lda    #<SignTmp
                        sta0   .PYDP
                        call   .CopyData           
			ret	
 
                
				

Z_Trans_YCnt:
Z_Trans_XCnt:
                        lda    #>SignZ
                        sta0   .PXPP                
                        lda    #<SignZ
                        sta0   .PXDP  
                        lda    #>SignCnt
                        sta0    .PYPP
                        lda    #<SignCnt
                        sta0   .PYDP
                        call   .CopyData           
			ret	
			
YCnt_Trans_Y:			
XCnt_Trans_Y:
                        lda    #>SignCnt
                        sta0    .PXPP
                        lda    #<SignCnt
                        sta0   .PXDP
                        lda    #>SignY
                        sta0   .PYPP                
                        lda    #<SignY
                        sta0   .PYDP  
                        call   .CopyData           
                        ret			
            
XSum_Trans_Y:
                        lda    #>SignXSum
                        sta0    .PXPP
                        lda    #<SignXSum
                        sta0   .PXDP
                        lda    #>SignY
                        sta0   .PYPP                
                        lda    #<SignY
                        sta0   .PYDP  
                        call   .CopyData           
                        ret                        
                        
Z_Trans_XSum:
                        lda    #>SignZ
                        sta0   .PXPP                
                        lda    #<SignZ
                        sta0   .PXDP  
                        lda    #>SignXSum
                        sta0    .PYPP
                        lda    #<SignXSum
                        sta0   .PYDP
                        call   .CopyData           
                        ret                        
				
XSquSum_Trans_X:
                        lda    #>SignXSquSum
                        sta0    .PXPP
                        lda    #<SignXSquSum
                        sta0   .PXDP
                        lda    #>SignX
                        sta0   .PYPP                
                        lda    #<SignX
                        sta0   .PYDP  
                        call   .CopyData           
                        ret				
Z_Trans_XSquSum:
                        lda    #>SignZ
                        sta0   .PXPP                
                        lda    #<SignZ
                        sta0   .PXDP  
                        lda    #>SignXSquSum
                        sta0    .PYPP
                        lda    #<SignXSquSum
                        sta0   .PYDP
                        call   .CopyData           
                        ret                        
Z_Trans_XCubeSum:          
                        lda    #>SignZ
                        sta0   .PXPP                
                        lda    #<SignZ
                        sta0   .PXDP  
                        lda    #>SignXCubeSum
                        sta0    .PYPP
                        lda    #<SignXCubeSum
                        sta0   .PYDP
                        call   .CopyData           
                        ret              
Z_Trans_XSquDiff:
                        lda    #>SignZ
                        sta0   .PXPP                
                        lda    #<SignZ
                        sta0   .PXDP  
                        lda    #>SignXSquDiff
                        sta0    .PYPP
                        lda    #<SignXSquDiff
                        sta0   .PYDP
                        call   .CopyData           
                        ret                        
XCubeSum_Trans_X:          
                        lda    #>SignXCubeSum
                        sta0   .PXPP                
                        lda    #<SignXCubeSum
                        sta0   .PXDP  
                        lda    #>SignX
                        sta0    .PYPP
                        lda    #<SignX
                        sta0   .PYDP
                        call   .CopyData           

                        ret              
XSquDiff_Trans_X:
                        lda    #>SignXSquDiff
                        sta0   .PXPP                
                        lda    #<SignXSquDiff
                        sta0   .PXDP  
                        lda    #>SignX
                        sta0    .PYPP
                        lda    #<SignX
                        sta0   .PYDP
                        call   .CopyData           
                        ret                        
                        
; Compute Y's Standard deviation for LR mode                      
            
YSum_Trans_Y:
                        lda    #>SignYSum
                        sta0    .PXPP
                        lda    #<SignYSum
                        sta0   .PXDP
                        lda    #>SignY
                        sta0   .PYPP                
                        lda    #<SignY
                        sta0   .PYDP  
                        call   .CopyData           
                        ret                        
                        
Z_Trans_YSum:
                        lda    #>SignZ
                        sta0   .PXPP                
                        lda    #<SignZ
                        sta0   .PXDP  
                        lda    #>SignYSum
                        sta0    .PYPP
                        lda    #<SignYSum
                        sta0   .PYDP
                        call   .CopyData           
                        ret                        
				
YSquSum_Trans_X:
                        lda    #>SignYSquSum
                        sta0    .PXPP
                        lda    #<SignYSquSum
                        sta0   .PXDP
                        lda    #>SignX
                        sta0   .PYPP                
                        lda    #<SignX
                        sta0   .PYDP  
                        call   .CopyData           
                        ret				
Z_Trans_YSquSum:
                        lda    #>SignZ
                        sta0   .PXPP                
                        lda    #<SignZ
                        sta0   .PXDP  
                        lda    #>SignYSquSum
                        sta0    .PYPP
                        lda    #<SignYSquSum
                        sta0   .PYDP
                        call   .CopyData           
                        ret                        
Z_Trans_XFourSum:       
                        lda    #>SignZ
                        sta0   .PXPP                
                        lda    #<SignZ
                        sta0   .PXDP  
                        lda    #>SignXFourSum
                        sta0    .PYPP
                        lda    #<SignXFourSum
                        sta0   .PYDP
                        call   .CopyData           

⌨️ 快捷键说明

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