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

📄 asmgenecc.src

📁 瑞萨单片机开发软代码.非常实用小巧的平台,很多应用都可以在上面实现.
💻 SRC
📖 第 1 页 / 共 5 页
字号:
;********************************************************************
;**
;**   ECC generation and connection for 512 byte data
;**
;********************************************************************

        .EXPORT _asm_genEccS

_asm_genEccS:
        STM.L   (ER4-ER6),@-SP          ; push register ER2~ER6
        STM.L   (ER2-ER3),@-SP
        PUSH.L   ER1

        ;; ECC[0]~ECC[9] init
        SUB.W	R6,R6               ; ECC[0]-R6H,ECC[1]-R6L
        MOV.W   R6,R5               ; ECC[2]-R5H,ECC[3]-R5L
        MOV.W   R6,R4               ; ECC[4]-R4H,ECC[5]-R4L
        MOV.W   R6,R3               ; ECC[6]-R3H,ECC[7]-R3L
        MOV.W   R6,R2               ; ECC[8]-R2H,ECC[9]-R2L
        
        ;buffer [000]
        MOV.W   @ER0+,R1       
        XOR.B   R1H,R6H		
        ;buffer [001]
        XOR.B   R1L,R2L		
        XOR.B   R1L,R6H		

        ;buffer [002]
        MOV.W   @ER0+,R1    
        XOR.B   R1H,R2H     
        XOR.B   R1H,R6H		
        ;buffer [003]
        XOR.B   R1L,R2H     
        XOR.B   R1L,R2L		
        XOR.B   R1L,R6H		
        
        ;buffer [004]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H
        ;buffer [005]
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [006]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R3L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [007]
        XOR.B   R1L,R3L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [008]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R3H
        XOR.B   R1H,R6H
        ;buffer [009]
        XOR.B   R1L,R3H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [00a]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R3H
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [00b]
        XOR.B   R1L,R3H
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [00c]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R3H
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H
        ;buffer [00d]
        XOR.B   R1L,R3H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [00e]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R3H
        XOR.B   R1H,R3L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [00f]
        XOR.B   R1L,R3H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [011]
        MOV.W   @ER0+,R1     
        XOR.B   R1H,R4L
        XOR.B   R1H,R6H		
        ;buffer [011]
        XOR.B   R1L,R4L
        XOR.B   R1L,R2L		
        XOR.B   R1L,R6H		

        ;buffer [012]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [013]
        XOR.B   R1L,R4L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [014]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4L
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H
        ;buffer [015]
        XOR.B   R1L,R4L
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [016]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4L
        XOR.B   R1H,R3L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [017]
        XOR.B   R1L,R4L
        XOR.B   R1L,R3L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [018]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4L
        XOR.B   R1H,R3H
        XOR.B   R1H,R6H
        ;buffer [019]
        XOR.B   R1L,R4L
        XOR.B   R1L,R3H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [01a]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4L
        XOR.B   R1H,R3H
        XOR.B   R1H,R2H      
        XOR.B   R1H,R6H		
        ;buffer [01b]
        XOR.B   R1L,R4L
        XOR.B   R1L,R3H
        XOR.B   R1L,R2H      
        XOR.B   R1L,R2L		
        XOR.B   R1L,R6H		
        
        ;buffer [01c]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4L
        XOR.B   R1H,R3H
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H		
        ;buffer [01d]
        XOR.B   R1L,R4L
        XOR.B   R1L,R3H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [01e]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4L
        XOR.B   R1H,R3H
        XOR.B   R1H,R3L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [01f]
        XOR.B   R1L,R4L
        XOR.B   R1L,R3H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [020]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R6H
        ;buffer [021]
        XOR.B   R1L,R4H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [022]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [023]
        XOR.B   R1L,R4H
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [024]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H		
        ;buffer [025]
        XOR.B   R1L,R4H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L		
        XOR.B   R1L,R6H		

        ;buffer [026]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R3L
        XOR.B   R1H,R2H     
        XOR.B   R1H,R6H		
        ;buffer [027]
        XOR.B   R1L,R4H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2H     
        XOR.B   R1L,R2L		
        XOR.B   R1L,R6H		
        
        ;buffer [028]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R3H
        XOR.B   R1H,R6H
        ;buffer [029]
        XOR.B   R1L,R4H
        XOR.B   R1L,R3H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [02a]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R3H
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [02b]
        XOR.B   R1L,R4H
        XOR.B   R1L,R3H
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [02c]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R3H
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H
        ;buffer [02d]
        XOR.B   R1L,R4H
        XOR.B   R1L,R3H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [02e]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R3H
        XOR.B   R1H,R3L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [02f]
        XOR.B   R1L,R4H
        XOR.B   R1L,R3H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [030]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R4L
        XOR.B   R1H,R6H
        ;buffer [031]
        XOR.B   R1L,R4H
        XOR.B   R1L,R4L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [032]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R4L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [033]
        XOR.B   R1L,R4H
        XOR.B   R1L,R4L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [034]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R4L
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H
        ;buffer [035]
        XOR.B   R1L,R4H
        XOR.B   R1L,R4L
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [036]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R4L
        XOR.B   R1H,R3L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [037]
        XOR.B   R1L,R4H
        XOR.B   R1L,R4L
        XOR.B   R1L,R3L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [038]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R4L
        XOR.B   R1H,R3H
        XOR.B   R1H,R6H
        ;buffer [039]
        XOR.B   R1L,R4H
        XOR.B   R1L,R4L
        XOR.B   R1L,R3H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [03a]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R4L
        XOR.B   R1H,R3H
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [03b]
        XOR.B   R1L,R4H
        XOR.B   R1L,R4L
        XOR.B   R1L,R3H
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [03c]
        MOV.W   @ER0+,R1            
        XOR.B   R1H,R4H
        XOR.B   R1H,R4L
        XOR.B   R1H,R3H
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H
        ;buffer [03d]
        XOR.B   R1L,R4H
        XOR.B   R1L,R4L
        XOR.B   R1L,R3H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [03e]
        MOV.W   @ER0+,R1  
        XOR.B   R1H,R4H
        XOR.B   R1H,R4L
        XOR.B   R1H,R3H
        XOR.B   R1H,R3L
        XOR.B   R1H,R2H   
        XOR.B   R1H,R6H		
        ;buffer [03f]
        XOR.B   R1L,R4H
        XOR.B   R1L,R4L
        XOR.B   R1L,R3H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2H   
        XOR.B   R1L,R2L		
        XOR.B   R1L,R6H		
        
        ;buffer [040]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R6H
        ;buffer [041]
	XOR.B   R1L,R5L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [042]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [043]
	XOR.B   R1L,R5L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [044]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H
        ;buffer [045]
	XOR.B   R1L,R5L
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [046]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R3L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [047]
	XOR.B   R1L,R5L
        XOR.B   R1L,R3L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [048]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R3H
        XOR.B   R1H,R6H
        ;buffer [049]
	XOR.B   R1L,R5L
        XOR.B   R1L,R3H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [04a]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R3H
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [04b]
	XOR.B   R1L,R5L
        XOR.B   R1L,R3H
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [04c]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R3H
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H
        ;buffer [04d]
	XOR.B   R1L,R5L
        XOR.B   R1L,R3H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [04e]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R3H
        XOR.B   R1H,R3L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [04f]
	XOR.B   R1L,R5L
        XOR.B   R1L,R3H
        XOR.B   R1L,R3L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [050]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R4L
        XOR.B   R1H,R6H
        ;buffer [051]
	XOR.B   R1L,R5L
        XOR.B   R1L,R4L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [052]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R4L
        XOR.B   R1H,R2H
        XOR.B   R1H,R6H
        ;buffer [053]
	XOR.B   R1L,R5L
        XOR.B   R1L,R4L
        XOR.B   R1L,R2H
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H
        
        ;buffer [054]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R4L
        XOR.B   R1H,R3L
        XOR.B   R1H,R6H
        ;buffer [055]
	XOR.B   R1L,R5L
        XOR.B   R1L,R4L
        XOR.B   R1L,R3L
        XOR.B   R1L,R2L
        XOR.B   R1L,R6H

        ;buffer [056]
        MOV.W   @ER0+,R1            
	XOR.B   R1H,R5L
        XOR.B   R1H,R4L

⌨️ 快捷键说明

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