ARM 組合程式指示詞
一般而言,Microsoft ARM 組合器會使用 ARM 元件語言,該語言記載于 ARM 編譯器 armasm 參考指南中 。 不過,某些元件指示詞的 Microsoft 實作與 ARM 元件指示詞不同。 本文說明差異。
MICROSOFT 實作 ARM 元件指示詞
AREA
Microsoft ARM 組合器支援下列
AREA
屬性:ALIGN
、CODE
、CODEALIGN
、、DATA
、NOINIT
、READONLY
、、READWRITE
、THUMB
ARM
。除了 和
ARM
以外的所有專案THUMB
,如 ARM 編譯器 armasm 參考指南 中所述 。在 Microsoft ARM 組合器中,
THUMB
表示區CODE
段包含 Thumb 程式碼,而且是CODE
區段的預設值。ARM
表示 區段包含 ARM 程式碼。ATTR
不支援。
CODE16
不支援,因為它表示 Microsoft ARM 組合器不允許的預先 UAL Thumb 語法。
THUMB
請改用 指示詞以及 UAL 語法。COMMON
不支援通用區域的對齊規格。
DCDO
不支援。
DN
,QN
,SN
不支援註冊別名上的類型或車道規格。
ENTRY
不支援。
EQU
不支援定義符號的類型規格。
EXPORT
和GLOBAL
使用下列語法指定匯出:
EXPORT
|GLOBAL
symbol
{[type]
}symbol
是要匯出的符號。[type]
如果指定,則可以[DATA]
表示符號指向資料,或[FUNC]
表示符號指向程式碼。GLOBAL
與EXPORT
同義。EXPORTAS
不支援。
FRAME
不支援。
FUNCTION
和PROC
元件語法可讓您在程式上指定自訂呼叫慣例:您可以列出呼叫端-save 的暫存器,以及被呼叫者儲存的暫存器。 不過,雖然 Microsoft ARM 組合器接受語法,但它會忽略暫存器清單。 組合器所產生的偵錯資訊僅支援預設呼叫慣例。
IMPORT
和EXTERN
使用下列語法指定匯入:
IMPORT
|EXTERN
symbol
{, WEAK
alias
{, TYPE
t
}}symbol
是要匯入之符號的名稱。如果
WEAK
alias
指定 ,則表示是symbol
弱式外部。 如果在連結時找不到其定義,則所有對它的參考都會系結至alias
。如果
TYPE
t
指定 ,則t
表示連結器應該如何嘗試解析symbol
。 的這些值t
是可能的:值 名稱 1 請勿搜尋的連結 symbol
庫。2 搜尋的連結 symbol
庫。3 symbol
是 的alias
別名(預設值)。EXTERN
是 的IMPORT
同義字,但symbol
只有在目前元件中有參考時才會匯入。MACRO
不支援使用變數來保存宏的條件碼。 不支援巨集引數的預設值。
NOFP
不支援。
OPT
,TTL
,SUBT
不支援,因為 Microsoft ARM 組合器不會產生清單。
PRESERVE8
不支援。
RELOC
RELOC n
只能遵循指示或資料定義指示詞。 沒有可以重新放置的「匿名符號」。REQUIRE
不支援。
REQUIRE8
不支援。
THUMBX
不支援,因為 Microsoft ARM 組合器不支援 Thumb-2EE 指令集。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應