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

📄 vectors.asm

📁 EDMA功能测试程序,高人给的,对于想学习EDMA的朋友或者有帮助.
💻 ASM
字号:
;***************************************************************************
; FILENAME: Rtvector.asm
;
; DESCRIPTION:  Includes Vector needed for real time applications
;
; STATUS:
;
;***************************************************************************


;***************************************************************************
; GLOBAL DECLARATIONS
;***************************************************************************
	        .ref _c_int00
			.global _DPtest


;***************************************************************************
; This is the vectors table, to be located at 0x0000@prog.
;***************************************************************************
            .sect ".vec"
			.align 32*8*4

RESET	    mvkl	  _c_int00, b0 	 ; 00
            mvkh	  _c_int00, b0 	 ; 00
            b         b0
            nop       5
			nop
			nop
			nop
			nop

_DPtest:
		MVK  .S1 1,A29
		MVK  .S1 5 ,A30

		ADD  .L1 A29,A30,A31
	||	MPY  .M1 A29,A30,A31
	||	LDDW  .D1T1 *A29, A31:A30
	||	LDDW  .D2T2 *B29, B31:B30
	||	NOP  5

		MVK  .S1 50,A1 		; set up loop counter
	 || ZERO .L1 A7	 		; zero out sum0 accumulator
	 || ZERO .L2 B7 		; zero out sum1 accumulator

LOOP:   LDW  .D1 *A4++,A2	; load ai & ai+1 from memory
	 || LDW  .D2 *B4++,B2 	; load bi & bi+1 from memory
		SUB  .S1 A1,1,A1 	; decrement loop counter
	[A1]B    .S1 LOOP 		; branch to loop
;        NOP
;	    BDEC  .S1 LOOP,A1
        NOP   2
        MPY .M1X A2,B2,A6 	; ai * bi
	 || MPYH .M2X A2,B2,B6 	; ai+1 * bi+1
        NOP
        ADD .L1 A6,A7,A7 	; sum0+= (ai * bi)
     || ADD .L2 B6,B7,B7 	; sum1+= (ai+1 * bi+1)
		; Branch occurs here
        ADD .L1X A7,B7,A4   ;sum = sum0 + sum1

		nop
		nop
		MVK  .S1 50,A1 		; set up loop counter
	 || ZERO .L1 A7	 		; zero out sum0 accumulator
	 || ZERO .L2 B7 		; zero out sum1 accumulator
		MVK  .S1 50,A1 		; set up loop counter
	 || ZERO .L1 A7	 		; zero out sum0 accumulator
	 || ZERO .L2 B7 		; zero out sum1 accumulator
		MVK  .S1 50,A1 		; set up loop counter
	 || ZERO .L1 A7	 		; zero out sum0 accumulator
	 || ZERO .L2 B7 		; zero out sum1 accumulator

		nop
		nop
		nop


		LDH .D1 *A4++,A2 	; load ai from memory
		LDH .D1 *A3++,A5 	; load bi from memory
		MPY .M1 A2,A5,A6 	; ai * bi
		ADD .L1 A6,A7,A7 	; sum += (ai * bi)
		SUB .S1 A1,1,A1 	; decrement loop counter
	[A1]B .S2 LOOP 			; branch to loop



        .end

⌨️ 快捷键说明

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