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

📄 cfi.m43

📁 shengji chengxu daoshi hezai xiaznai
💻 M43
字号:
/**************************************************
 *
 * Backtrace macros used by the part of the run-time library
 * written in assembler.
 *
 * Copyright 2003 IAR Systems. All rights reserved.
 *
 * $Revision: 1.3 $
 **************************************************/

#ifndef CFI_M43
#define CFI_M43


// ---------------------------------------------------------
// XCFI_NAMES
//

        // This is identical to the block generated by the compiler.w

XCFI_NAMES:  MACRO id
        .CFI    Names id
        .CFI    StackFrame CFA SP DATA
        .CFI    Resource PC:16, SP:16, SR:16, R4:16, R5:16, R6:16, R7:16
        .CFI    Resource R8:16, R9:16, R10:16, R11:16, R12:16, R13:16, R14:16
        .CFI    Resource R15:16
        .CFI    EndNames id
        ENDM


// ---------------------------------------------------------
// XCFI_COMMON
//

        // This is identical to the block generated by the compiler
        // with the exception that R12 .. R15 are declared as
        // SameValue.

#ifdef PIC

XCFI_COMMON: MACRO id, namedId
        .CFI    Common id using namedId
        .CFI    CodeAlign 2
        .CFI    DataAlign 2
        .CFI    ReturnAddress PC CODE
        .CFI    CFA SP+2
        .CFI    PC  add(load(4, DATA, add(CFA, literal(-2))), 4)
        .CFI    SR  Undefined
        .CFI    R4  SameValue
        .CFI    R5  SameValue
        .CFI    R6  SameValue
        .CFI    R7  SameValue
        .CFI    R8  SameValue
        .CFI    R9  SameValue
        .CFI    R10 SameValue
        .CFI    R11 SameValue
        .CFI    R12 SameValue
        .CFI    R13 SameValue
        .CFI    R14 SameValue
        .CFI    R15 SameValue
        .CFI    EndCommon id
        ENDM

#else

XCFI_COMMON: MACRO id, namedId
        .CFI    Common id using namedId
        .CFI    CodeAlign 2
        .CFI    DataAlign 2
        .CFI    ReturnAddress PC CODE
        .CFI    CFA SP+2
        .CFI    PC  Frame(CFA, -2)
        .CFI    SR  Undefined
        .CFI    R4  SameValue
        .CFI    R5  SameValue
        .CFI    R6  SameValue
        .CFI    R7  SameValue
        .CFI    R8  SameValue
        .CFI    R9  SameValue
        .CFI    R10 SameValue
        .CFI    R11 SameValue
        .CFI    R12 SameValue
        .CFI    R13 SameValue
        .CFI    R14 SameValue
        .CFI    R15 SameValue
        .CFI    EndCommon id
        ENDM

#endif


// ---------------------------------------------------------
// XCFI_BEGIN
//

XCFI_BEGIN  MACRO       name
        .CFI    Block name using libCommon
        .CFI    Function name
        ENDM


// ---------------------------------------------------------
// XCFI_END
//

XCFI_END    MACRO       name
        .CFI    EndBlock name
        ENDM

#endif // CFI_M43

⌨️ 快捷键说明

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