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

📄 main.asm

📁 经典的里德索罗蒙码RS编码的dsp开发的c语言代码。
💻 ASM
字号:
	.mmregs
	.def 	 _start
	.global _input
	.global _output
	.data
table:
	.word	0,1,18,2,5,19,11,3,29,6,27,20,8,12,23,4,10,30,17,7,22,28,26,21,25,9,16,13,14,24,15
	.word	1,2,4,8,16,5,10,20,13,26,17,7,14,28,29,31,27,19,3,6,12,24,21,15,30,25,23,11,22,9,18
	.bss 	x,1
	.bss	re_polynomial,31
	.bss 	rs_fountain,31
	.bss 	data8,405
	.bss 	data5,648
	.bss 	check,96
	.text
_start:
	stm	#re_polynomial,ar1
	rpt	#62
	mvpd	#table,*ar1+
	stm	#_input,ar3	
	stm	#data8,ar4
	stm	#data5,ar5
	stm	#404,ar2
	ld	#16384,a
begin:	mvdd	*ar3+,*ar4
	stm 	#7,brc
	rptb	scramblerend-1
	and	#16385,a,b
	stl	b,#-14,*(x)
	xor	*(x),b
	xor	*ar4,b
	rsbx	c
	ror	a
	and	#1,b
	or	b,#14,a
	sftl	b,#8
	add	*ar4,b
	stl	b,#-1,*ar4
scramblerend:
	mar	*ar4+
	banz	begin,*ar2-
***	8-5切分器	***
	stm	#data8,ar4
	stm	#5,ar0
	stm	#80,ar1
begin85:
	stm	#7,ar2
l0:	stm	#4,brc
	rptbd	l1-1
	ld	#0,b
	nop
	ld	*ar4,a
	ror	a
	stl	a,*ar4+
	ror	b
l1:	sth	b,#-11,*ar5+
	mar	*ar4-0
	banz	l0,*ar2-
	mar	*ar4+0
	banz	begin85,*ar1-
***	RS 编码	***
	stm	#4,ar0
	stm	#data5,ar3
	stm	#check,ar4
	stm	#check,ar5
	rpt	#95
	st 	#0,*ar5+
	stm	#check+1,ar5
	stm	#23,ar1
RS_begin:
	stm	#26,brc
	rptb	l13-1
	ld	*ar3+,a
	xor	*ar4,a
	bc	l2,aneq
	mvdd	*ar5+,*ar4+
	mvdd	*ar5+,*ar4+
	mvdd	*ar5+,*ar4+
	st 	#0,*ar4+
	mar	*ar5+
	b  	l12
l2: 	add 	#re_polynomial,a
l3:	sub	#1,a
	stlm	a,ar2
	nop
	nop
	ld	*ar2,a
	sub	#6,a,b
	bc	l4,bgt
	add 	#24,a,b
	b	l5
l4:	sub	#7,a,b
l5:	add 	#rs_fountain,b
	stlm	b,ar2
	nop
	nop
	ld	*ar2,b
	xor	*ar5+,b
	stl	b,*ar4+
	sub	#11,a,b
	bc	l6,bgt
	add 	#19,a,b
	b 	l7
l6: 	sub	#12,a,b
l7: 	add 	#rs_fountain,b
	stlm	b,ar2
	nop
	nop
	ld	*ar2,b
	xor	*ar5+,b
	stl	b,*ar4+
	sub	#1,a,b
	bc	l8,bgt
	add 	#29,a,b
	b 	l9
l8:	sub	#2,a,b
l9: 	add 	#rs_fountain,b
	stlm	b,ar2
	nop
	nop
	ld	*ar2,b
	xor	*ar5+,b
	stl	b,*ar4+
	sub	#20,a,b
	bc	l10,bgt
	add 	#10,a,b
	b 	l11
l10:	sub	#21,a,b
l11:	add 	#rs_fountain,b
	stlm	b,ar2
	nop
	nop
	mvdd 	*ar2,*ar4+
	mar	*ar5+
l12:	mar	*ar4-0
	mar	*ar5-0
l13:	mar 	*ar4+0
	mar	*ar5+0
	banz	RS_begin,*ar1-
	ret
	.end
	

⌨️ 快捷键说明

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