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

📄 prm2bits.asm

📁 基于TMS320F2812的AMR+RS编解码+OFDM调制解调源程序。是stand alone运行版本
💻 ASM
字号:
*****************************************************************************
** Description:     Prm2bits()      in Prm2bits.c                          **
**                                                                         **
** Inputs :                                                                **
**     ana[19]		    	 	                                           **
**                                                                         **
** Outputs:                                                                **
**   XAR2--bits[]     : serial bits      (size <= MAX_SERIAL_SIZE)         **
**									                                       **
** Return value :                                                          **
**                                                                         **
** Attribute    :       Cycles:         Pm:                                **
**               Modified Registers:            **
**                                 							   **
**                                
**                                @buffer3                                         **
** Programmer   :       ZHOU Bei     (OK,)                    **
*****************************************************************************
	.global		_Prm2bits
	
	.ref		ana
	.ref        bitno_MR515
	.ref		MASK
	.ref		BIT_0
	.ref		BIT_1
	
_Prm2bits:
	  ;for (i = 0; i < prmno[1]; i++)
   	  MOV	AR0,#18                        ;for amr 515
   	  MOVL	XAR3,#ana
   	  MOVL	XAR4,#bitno_MR515
   	  
_LOOP_111:    	  
   	  ;Int2bin (prm[i], bitno[1][i], bits);
   	  ;Int2bin (value,no_of_bits,*bitstream)
         ;Word16 *pt_bitstream, i, bit;
      
      ;pt_bitstream = &bitstream[no_of_bits]
      
      MOV	AL,*XAR4
      MOVL	XAR6,@XAR2              ;Point to pt_bitstream
      nop      
      ADD	AR6,AL	
      MOVL	XAR2,@XAR6					  ;bits += bitno[1][i]
      
      ;for (i = 0; i < no_of_bits; i++)
      MOV		AR7,*XAR4++
	  DEC		AR7
	  
	  ;Save value to ah
	  MOV		AL,*XAR3++  
	              
	  
_LOOP_69:		       
       		;bit = value & MASK;                        
            MOV		AR1,AL
            AND		AR1,#MASK
            BF		_LINE_79,NEQ
            
            
            	;if (bit == 0)   *--pt_bitstream = BIT_0;              
            	MOV		*--XAR6,#BIT_0
            	BF		_LINE_81,UNC
_LINE_79:            
       			;else  *--pt_bitstream = BIT_1;              
            	MOV		*--XAR6,#BIT_1
            
_LINE_81:            
        	;value = shr (value, 1);
    		LSR		AL,1
      		BANZ	_LOOP_69,AR7--
      	
      BANZ	_LOOP_111,AR0--
      		
      LRETR  
       
       
        

⌨️ 快捷键说明

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