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

📄 src_init.asm

📁 在blankfin中 实现src 的程序
💻 ASM
字号:
/*initial.asm: Sample Rate Conversion Version 0.1

	P0 -> a fundamental structure

	Registers used: P0, P1, P2, P5, R2, R3, R4, R5, R6, R7

*/


.SECTION program;
.align 4;

.global _src_init;
/*
	initialize all the buffers (inputs and delay)
	P0 -> a fundamental structure
*/

_src_init:

		[--SP]=(R7:4,P5:3);		// Push R7 and

		P0 = R0;				// Address of fundemental structure
		p5 = 20;				// 5*4 bytes = 20 byte-wide increment	
		r6 = [p0++p5];			// Pointer to fundemental structure 'fs_x' post increment of 5 32-bit words
//jws		p1 = r2;				// p1 = 32-bit pointer 'st_handle'

		r7 = [p0++];			// load number of stages
		p5 = r7;
		p1 = r6;				// p1 = 32-bit pointer 'st_handle'

		LSETUP(L_BEGIN, L_END) LC0 = p5;
L_BEGIN:	r2 = [p1++];
			
			p2 = r2;				// p2 -> 'datax'
			r3 = [p2++];			// r3 -> first element 'inx'
			r4 = [p2++];			// r4 = length 'SZINx'

			i0 = r3;				// i0 -> 'inx' buffer
			p5 = r4;
			r5 = 0;
			l0 = 0;					// l0 = length of 'inx' buffer SZINx
			LSETUP(SET_ZERO_BEGIN, SET_ZERO_END) LC1 = p5;
SET_ZERO_BEGIN:
SET_ZERO_END:	[i0++] = r5;		// zero out a 32-bit word

L_END:		nop;


_src_init_end1:(R7:4,P5:3)=[SP++];    // Pop R7 and P5

		RTS;
		
_src_init.end:

⌨️ 快捷键说明

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