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

📄 a9_live.asm

📁 dsp6713开发板的许多例程.对入门特别有用
💻 ASM
字号:
***************************************************************************               Copyright (C) 1996-2000 Texas Instruments Incorporated.*                            All Rights Reserved*               A9_LIVE HAND ASSEMBLY - Example 6-59*               From Programmer's Guide*********************************************************************************** ASSEMBLY CODE: *******************	.global _live_long_asm	.text_live_long_asm:	LDH	.D1	*A4++,A0	; load ai from memory||	LDH	.D2	*B4++,B0	; load bi from memory	MVK	.S2	100,B2		; set up loop counter||	STW	.D2	B10,*B15--	; push register	LDH	.D1	*A4++,A0	;* load ai from memory||	LDH	.D2	*B4++,B0	;* load bi from memory	ZERO	.S1	A1		; zero out accumulator||	ZERO	.S2	B1		; zero out accumulator	LDH	.D1	*A4++,A0	;** load ai from memory||	LDH	.D2	*B4++,B0	;** load bi from memory   [B2]	SUB	.S2	B2,1,B2		; decrement loop counter	MPY	.M1	A0,A6,A3	; a0 = ai * c||	MPY	.M2X	B0,A6,B10	; b0 = bi * ci||	LDH	.D1	*A4++,A0	;*** load ai from memory||	LDH	.D2	*B4++,B0	;*** load bi from memory   [B2]	SUB	.S2	B2,1,B2		; decrement loop counter|| [B2]	B	.S1	LOOP		; branch to loop	SHR	.S1	A3,15,A5	; a1 = a0 >> 15||	SHR	.S2	B10,15,B5	; b1 = b0 >> 15||	MPY	.M1	A0,A6,A3	;* a0 = ai * c||	MPY	.M2X	B0,A6,B10	;* b0 = bi * ci||	LDH	.D1	*A4++,A0	;**** load ai from memory||	LDH	.D2	*B4++,B0	;**** load bi from memory	MPY	.M1X	A5,B6,A7	; a2 = a1 * d||	MV	.D1	A3,A2		; save a0 across iterations||	MPY	.M2X	B5,A8,B7	; b2 = b1 * e||	MV	.D2	B10,B8		; save b0 across iterations|| [B2]	SUB	.S2	B2,1,B2		;* decrement loop counter|| [B2]	B	.S1	LOOP		;* branch to loop	SHR	.S1	A3,15,A5	;* a1 = a0 >> 15||	SHR	.S2	B10,15,B5	;* b1 = b0 >> 15||	MPY	.M1	A0,A6,A3	;** a0 = ai * c||	MPY	.M2X	B0,A6,B10	;** b0 = bi * ci||	LDH	.D1	*A4++,A0	;***** load ai from memory||	LDH	.D2	*B4++,B0	;***** load bi from memoryLOOP:	ADD	.L1	A7,A2,A9	;* a3 = a2 + a0||	ADD	.L2	B7,B8,B9	;* b3 = b2 + b0||	MPY	.M1X	A5,B6,A7	;* a2 = a1 * d||	MV	.D1	A3,A2		;* save a0 across iterations||	MPY	.M2X	B5,A8,B7	;* b2 = b1 * e||	MV	.D2	B10,B8		;* save b0 across iterations|| [B2]	SUB	.S2	B2,1,B2		;** decrement loop counter|| [B2]	B	.S1	LOOP		;** branch to loop	ADD	.L1	A1,A9,A1	; sum0 += a3||	ADD	.L2	B1,B9,B1	; sum1 += b3||	SHR	.S1	A3,15,A5	;** a1 = a0 >> 15||	SHR	.S2	B10,15,B5	;** b1 = b0 >> 15||	MPY	.M1	A0,A6,A3	;*** a0 = ai * c||	MPY	.M2X	B0,A6,B10	;*** b0 = bi * ci||	LDH	.D1	*A4++,A0	;****** load ai from memory||	LDH	.D2	*B4++,B0	;****** load bi from memory	; Branch occurs here	ADD	.L1X	A1,B1,A4	; sum = sum0 + sum1||	B	.S2	B3||	LDW	.D2	*++B15,B10	; pop register	NOP	5********* END ASSEMBLY CODE ******************	

⌨️ 快捷键说明

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