分享方式:


ARM 組合程式指示詞

一般而言,Microsoft ARM 組合器會使用ARM元件語言,該語言記載於 ARM編譯程式armasm參考指南中。 不過,某些元件指示詞Microsoft實作與ARM元件指示詞不同。 本文說明差異。

ARM 元件指示詞Microsoft實作

  • AREA

    Microsoft ARM 組合器支援下列屬性:、、、CODEREADONLYCODEALIGNNOINITDATA、、 ARMTHUMBALIGNAREAREADWRITE

    除了 和 ARM 以外的所有專案THUMB,如ARM編譯程式armasm參考指南中所述

    在 Microsoft ARM 組合器中, THUMB 指出 CODE 區段包含 Thumb 程式代碼,而且是 CODE 區段的預設值。 ARM 表示區段包含 ARM 程式代碼。

  • ATTR

    不支援。

  • CODE16

    不支援,因為它表示預先UAL Thumb語法,Microsoft ARM 組合器不允許。 THUMB請改用 指示詞以及 UAL 語法。

  • COMMON

    不支援通用區域的對齊規格。

  • DCDO

    不支援。

  • DN、 、 QNSN

    不支援註冊別名上的類型或車道規格。

  • ENTRY

    不支援。

  • EQU

    不支援定義符號的類型規格。

  • EXPORTGLOBAL

    使用下列語法指定匯出:

    EXPORT|GLOBALsymbol{[type]}

    symbol 是要導出的符號。 [type]如果指定,則可以 [DATA] 表示符號指向數據,或 [FUNC] 表示符號指向程序代碼。 GLOBALEXPORT同義。

  • EXPORTAS

    不支援。

  • FRAME

    不支援。

  • FUNCTIONPROC

    元件語法可讓您在程式上指定自定義呼叫慣例:您可以列出呼叫端-save 的緩存器,以及被呼叫者儲存的緩存器。 不過,雖然Microsoft ARM 組合器接受語法,但它會忽略緩存器清單。 組合器所產生的偵錯資訊僅支援預設呼叫慣例。

  • IMPORTEXTERN

    使用下列語法指定匯入:

    IMPORT|EXTERNsymbol{ {, TYPE, WEAK aliast}}

    symbol 是要匯入之符號的名稱。

    如果WEAKalias指定 ,則表示是symbol弱式外部。 如果在連結時找不到其定義,則所有對它的參考都會繫結至 alias

    如果TYPEt指定 ,則t表示連結器應該如何嘗試解析 symbol。 的這些值 t 是可能的:

    名稱
    1 請勿搜尋的連結 symbol庫。
    2 搜尋的連結 symbol庫。
    3 symbol 是的 alias 別名(預設值)。

    EXTERN 是 的 IMPORT同義字,但 symbol 只有在目前元件中有參考時才會匯入。

  • MACRO

    不支援使用變數來保存巨集的條件代碼。 不支援巨集參數的預設值。

  • NOFP

    不支援。

  • OPT、 、 TTLSUBT

    不支援,因為Microsoft ARM 組合器不會產生清單。

  • PRESERVE8

    不支援。

  • RELOC

    RELOC n 只能遵循指示或數據定義指示詞。 沒有可以重新放置的「匿名符號」。

  • REQUIRE

    不支援。

  • REQUIRE8

    不支援。

  • THUMBX

    不支援,因為Microsoft ARM 組合器不支援 Thumb-2EE 指令集。

另請參閱

ARM 組譯工具命令列參考
ARM 組譯工具診斷訊息