a7_if.asm

来自「dsp6713开发板的许多例程.对入门特别有用」· 汇编 代码 · 共 52 行

ASM
52
字号
******************************************************************************/*		Copyright (C) 1996-2000 Texas Instruments Incorporated*                           All Rights Reserved*              A7_IF HAND ASSEMBLY - Example 6-50*              From Programmer's Guide*************************************************************************************** ASSEMBLY CODE: *******************	.global _if_then_asm	.text_if_then_asm:	MVK	.S2	32,B0		; set up loop counter  [B0]	ADD	.L2	-1,B0,B0	; decrement counter  [B0]	ADD	.L2	-1,B0,B0	; decrement counter||[B0]	B	.S1	LOOP		; for LOOP||	LDH	.D1	*A4++,A5	; a[i]  	SHL	.S1	A6,1,A6		; mask = mask << 1;||	AND	.S2X	B4,A6,B2	; cond = codeword & mask  [B2]	MVK	.S2	1,B2		; !(!(cond))||[B0]	ADD	.L2	-1,B0,B0	; decrement counter||[B0]	B	.S1	LOOP		;* for LOOP||	LDH	.D1	*A4++,A5	;* a[i]  	CMPEQ	.L2	B6,B2,B1	; (theta == !(!(cond)))||	SHL	.S1	A6,1,A6		;* mask = mask << 1;||	AND	.S2X	B4,A6,B2	;* cond = codeword & mask||	ZERO	.L1	A7		; zero out accumulatorLOOP:  [B0]	ADD	.L2	-1,B0,B0	; decrement counter||[B2]	MVK	.S2	1,B2		;* !(!(cond))||[B0]	B	.S1	LOOP		;** for LOOP||	LDH	.D1	*A4++,A5	;** a[i]  [B1]	ADD	.L1	A7,A5,A7	; sum += a[i]||[!B1]	SUB	.D1	A7,A5,A7	; sum -= a[i]||	CMPEQ	.L2	B6,B2,B1	;* (theta == !(!(cond)))||	SHL	.S1	A6,1,A6		;** mask = mask << 1;||	AND	.S2X	B4,A6,B2	;** cond = codeword & mask	; Branch occurs here	MV	.L1	A7,A4		; move to return register	B	.S2	B3	NOP	5********* END ASSEMBLY CODE ******************	

⌨️ 快捷键说明

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