📄 asmgenecc.src
字号:
;********************************************************************
;**
;** 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 + -