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

📄 asm_macros.h

📁 ADI SHARC DSP 音频算法标准模块库
💻 H
字号:
// Copyright(c) 2005 Analog Devices, Inc. All Rights Reserved.
// This software is proprietary and confidential to Analog Devices, Inc. and its licensors.

// File    : $Id: //depot/development/visualaudio/modules/2.5.0/SHARC/Source/asm_macros.h#3 $ 
// Part of : VisualAudio V2.5.0 
// Updated : $Date: 2006/10/12 $ by $Author: Fernando $




/*================================= MODULE NAME  =====================================
    Module Name     : asm_macros.h 
    DSP Processor   : ADSP21161
    Original Author : M.A.Wilson
    Date of Origin  : 2/7/03
     Owner           : Analog Devices

=================================== REVISIONS ========================================
    REV   NAME   DATE        CHANGE    (Place Clearcase revision number in REV column)
 
=================================== MODULE DESCRIPTION ===============================
asm_macros contains all global macro definitions                       
#include "asm_macros.h" should be added to any file using these macros 
======================================================================================*/

// Macros 
// Macro Definition
#define overwrite_vector(vector_address,new_vector_ptr)\
    I12=vector_address;\
    I13=new_vector_ptr;\
    M12=1;\
    PX=pm(I13,M12);\
    pm(I12,M12)=PX;\
    PX=pm(I13,M12);\
    pm(I12,M12)=PX;\
    PX=pm(I13,M12);\
    pm(I12,M12)=PX;\
    PX=pm(I13,M12);\
    pm(I12,M12)=PX

#define save_astat_mode1      puts=mode1;\
                              puts=ASTAT

#define restore_astat_mode1   ASTAT=gets(1);\
                              mode1=gets(2);\
                              alter(2)
                                 

#define save_i0          R0=I0;\
                         puts=R0;\
                         R0=M0;\
                         puts=R0;\
                         R0=L0;\
                         puts=R0;\
                         R0=B0;\
                         puts=R0

#define restore_i0       B0=gets(1);\
                         L0=gets(2);\
                         M0=gets(3);\
                         I0=gets(4);\
                         alter(4)

#define save_i1          R0=I1;\
                         puts=R0;\
                         R0=M1;\
                         puts=R0;\
                         R0=L1;\
                         puts=R0;\
                         R0=B1;\
                         puts=R0

#define restore_i1       B1=gets(1);\
                         L1=gets(2);\
                         M1=gets(3);\
                         I1=gets(4);\
                         alter(4)

#define save_i2          R0=I2;\
                         puts=R0;\
                         R0=M2;\
                         puts=R0;\
                         R0=L2;\
                         puts=R0;\
                         R0=B2;\
                         puts=R0

#define restore_i2       B2=gets(1);\
                         L2=gets(2);\
                         M2=gets(3);\
                         I2=gets(4);\
                         alter(4)

#define save_i3          R0=I3;\
                         puts=R0;\
                         R0=M3;\
                         puts=R0;\
                         R0=L3;\
                         puts=R0;\
                         R0=B3;\
                         puts=R0

#define restore_i3       B3=gets(1);\
                         L3=gets(2);\
                         M3=gets(3);\
                         I3=gets(4);\
                         alter(4)

#define save_i4          R0=I4;\
                         puts=R0;\
                         R0=M4;\
                         puts=R0;\
                         R0=L4;\
                         puts=R0;\
                         R0=B4;\
                         puts=R0

#define restore_i4       B4=gets(1);\
                         L4=gets(2);\
                         M4=gets(3);\
                         I4=gets(4);\
                         alter(4)

#define save_i5          R0=I5;\
                         puts=R0;\
                         R0=M5;\
                         puts=R0;\
                         R0=L5;\
                         puts=R0;\
                         R0=B5;\
                         puts=R0

#define restore_i5       B5=gets(1);\
                         L5=gets(2);\
                         M5=gets(3);\
                         I5=gets(4);\
                         alter(4)

#define save_i6          R0=I6;\
                         puts=R0;\
                         R0=M6;\
                         puts=R0;\
                         R0=L6;\
                         puts=R0;\
                         R0=B6;\
                         puts=R0

#define restore_i6       B6=gets(1);\
                         L6=gets(2);\
                         M6=gets(3);\
                         I6=gets(4);\
                         alter(4)

#define save_i7          R0=I7;\
                         puts=R0;\
                         R0=M7;\
                         puts=R0;\
                         R0=L7;\
                         puts=R0;\
                         R0=B7;\
                         puts=R0

#define restore_i7       B7=gets(1);\
                         L7=gets(2);\
                         M7=gets(3);\
                         I7=gets(4);\
                         alter(4)

#define save_i8          R0=I8;\
                         puts=R0;\
                         R0=M8;\
                         puts=R0;\
                         R0=L8;\
                         puts=R0;\
                         R0=B8;\
                         puts=R0

#define restore_i8       B8=gets(1);\
                         L8=gets(2);\
                         M8=gets(3);\
                         I8=gets(4);\
                         alter(4)

#define save_i9          R0=I9;\
                         puts=R0;\
                         R0=M9;\
                         puts=R0;\
                         R0=L9;\
                         puts=R0;\
                         R0=B9;\
                         puts=R0

#define restore_i9       B9=gets(1);\
                         L9=gets(2);\
                         M9=gets(3);\
                         I9=gets(4);\
                         alter(4)

#define save_i10         R0=I10;\
                         puts=R0;\
                         R0=M10;\
                         puts=R0;\
                         R0=L10;\
                         puts=R0;\
                         R0=B10;\
                         puts=R0

#define restore_i10      B10=gets(1);\
                         L10=gets(2);\
                         M10=gets(3);\
                         I10=gets(4);\
                         alter(4)

#define save_i11         R0=I11;\
                         puts=R0;\
                         R0=M11;\
                         puts=R0;\
                         R0=L11;\
                         puts=R0;\
                         R0=B11;\
                         puts=R0

#define restore_i11      B11=gets(1);\
                         L11=gets(2);\
                         M11=gets(3);\
                         I11=gets(4);\
                         alter(4)

#define save_i12         R0=I12;\
                         puts=R0;\
                         R0=M12;\
                         puts=R0;\
                         R0=L12;\
                         puts=R0;\
                         R0=B12;\
                         puts=R0

#define restore_i12      B12=gets(1);\
                         L12=gets(2);\
                         M12=gets(3);\
                         I12=gets(4);\
                         alter(4)

#define save_i13         R0=I13;\
                         puts=R0;\
                         R0=M13;\
                         puts=R0;\
                         R0=L13;\
                         puts=R0;\
                         R0=B13;\
                         puts=R0

#define restore_i13      B13=gets(1);\
                         L13=gets(2);\
                         M13=gets(3);\
                         I13=gets(4);\
                         alter(4)

#define save_i14         R0=I14;\
                         puts=R0;\
                         R0=M14;\
                         puts=R0;\
                         R0=L14;\
                         puts=R0;\
                         R0=B14;\
                         puts=R0

#define restore_i14      B14=gets(1);\
                         L14=gets(2);\
                         M14=gets(3);\
                         I14=gets(4);\
                         alter(4)

#define save_i15         R0=I15;\
                         puts=R0;\
                         R0=M15;\
                         puts=R0;\
                         R0=L15;\
                         puts=R0;\
                         R0=B15;\
                         puts=R0

#define restore_i15      B15=gets(1);\
                         L15=gets(2);\
                         M15=gets(3);\
                         I15=gets(4);\
                         alter(4)






⌨️ 快捷键说明

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