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

📄 predictor_zero.s

📁 zigbee 飞思卡尔 音频传输 基于ucos的所有源码
💻 S
字号:
;*********************************************
;* UESTC.
;* (c) Copyright 2006 UESTC.
;* ALL RIGHTS RESERVED.
;* Author:	Shuifen Li
;* Date:	2006.7
;*********************************************
;*********************************************
;* FILE NAME: predictor_zero.s
;*********************************************

            .global _predictor_zero
	        
	        .text
	        
_predictor_zero:

;---=Saving values of used registers and clearing the data registers=---
   
    lea	-56(a7),  a7
	movem.l	d1-d7/a0-a6,(a7) 
	
;---=loading useful parameters from stack=---
    
    move.l   60(a7),  a0   //a0--state_ptr
    
;---= begin main function =--
    	move.l acc,d0
		move.l #0,acc
		move.l #0,macsr
		move.l #0,d4
		move.l #11,d3
		move.l a0,a1
    	add.l	#60,a0
		add.l #28,a1  //a1--b
    	move.w	(a0)+,d0 //dq[0]
    	ext.l d0
    	move.l (a1)+,d1
    	asr.l #2,d1
    	mac.l d1,d0,acc
    	move.l acc,d2
		move.l #0,acc
    	asr.l d3,d2
		move.l d2,d4
    	
    	move.w	(a0)+,d0 //dq[1]
    	ext.l d0
    	move.l (a1)+,d1
    	asr.l #2,d1
    	mac.l d1,d0,acc
     	move.l acc,d2
		move.l #0,acc
    	asr.l d3,d2
    	add.l d2,d4
    	    	
    	move.w	(a0)+,d0 //dq[2]
    	ext.l d0
    	move.l (a1)+,d1
    	asr.l #2,d1
    	mac.l d1,d0,acc
    	move.l acc,d2
		move.l #0,acc
    	asr.l d3,d2
    	add.l d2,d4
    	    	
    	move.w	(a0)+,d0 //dq[3]
    	ext.l d0
		move.l (a1)+,d1
    	asr.l #2,d1
    	mac.l d1,d0,acc
    	move.l acc,d2
		move.l #0,acc
    	asr.l d3,d2
    	add.l d2,d4
    	
    	move.w	(a0)+,d0 //dq[4]
    	ext.l d0
    	move.l (a1)+,d1
    	asr.l #2,d1
    	mac.l d1,d0,acc
    	move.l acc,d2
		move.l #0,acc
    	asr.l d3,d2
    	add.l d2,d4
    	
    	move.w	(a0)+,d0 //dq[5]
    	ext.l d0
    	move.l (a1)+,d1
    	asr.l #2,d1
    	mac.l d1,d0,acc
    	move.l acc,d2
		move.l #0,acc
    	asr.l d3,d2
    	add.l d2,d4
    	
    	move.l d4,d0
 
/*	int		i;
	int		sezi;
	
	sezi = (state_ptr->b[0] >> 2) * state_ptr->dq[0] >>11;	

	for (i = 1; i < 6; i++)			
	{
	sezi += (state_ptr->b[i] >> 2) * state_ptr->dq[i] >>11;
	}	
	return (sezi);
}*/
;---= Push the Stack =---

	movem.l	(a7), d1-d7/a0-a6
	lea		56(a7), a7
	rts	 

⌨️ 快捷键说明

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