Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In genere, l'assembler Microsoft ARM usa il linguaggio di assembly ARM, documentato nella Guida di riferimento all'armasm del compilatore ARM. Tuttavia, le implementazioni Microsoft di alcune direttive assembly differiscono dalle direttive assembly arm. Questo articolo illustra le differenze.
Implementazioni Microsoft delle direttive assembly ARM
AREAL'assembler Microsoft ARM supporta questi
AREAattributi:ALIGN,CODE,DATACODEALIGN,NOINIT,READONLYREADWRITE,THUMB.ARMTutti tranne
THUMBeARMfunzionano come documentato nella Guida di riferimento all'armasm del compilatore ARM.Nell'assembler
THUMBMicrosoft ARM indica che unaCODEsezione contiene il codice Thumb ed è l'impostazione predefinita perCODEle sezioni.ARMindica che la sezione contiene codice ARM.ATTRNon supportato.
CODE16Non supportato perché implica la sintassi pre-UAL Thumb, che l'assembler di Microsoft ARM non consente. Usare invece la
THUMBdirettiva insieme alla sintassi di Registrazione accesso utenti.COMMONLa specifica di un allineamento per l'area comune non è supportata.
DCDONon supportato.
DN,QN,SNLa specifica di un tipo o di una corsia nell'alias del registro non è supportata.
ENTRYNon supportato.
EQULa specifica di un tipo per il simbolo definito non è supportata.
EXPORTeGLOBALSpecifica le esportazioni utilizzando questa sintassi:
EXPORT|GLOBALsymbol{[type]}symbolè il simbolo da esportare.[type], se specificato, può essere[DATA]per indicare che il simbolo punta ai dati o[FUNC]per indicare che il simbolo punta al codice.GLOBALè un sinonimo diEXPORT.EXPORTASNon supportato.
FRAMENon supportato.
FUNCTIONePROCLa sintassi dell'assembly consente di specificare una convenzione di chiamata personalizzata per le procedure: vengono elencati i registri che vengono salvati dal chiamante e quelli chiamati.the assembly syntax let you specify a custom calling convention on procedures: you list the registers that are caller-save, and the ones that are calle-save. Tuttavia, mentre l'assembler di Microsoft ARM accetta la sintassi, ignora gli elenchi di registri. Le informazioni di debug prodotte dall'assembler supportano solo la convenzione di chiamata predefinita.
IMPORTeEXTERNSpecifica le importazioni usando questa sintassi:
IMPORT|EXTERNsymbol{ {, TYPE, WEAKaliast}}symbolè il nome del simbolo da importare.Se
WEAKaliasviene specificato, indica chesymbolè un esterno debole. Se non viene trovata una definizione in fase di collegamento, tutti i riferimenti a tale definizione vengono associati aalias.Se
TYPEtviene specificato,tindica come il linker deve tentare di risolveresymbol. Questi valori pertsono possibili:valore Description 1 Non cercare le librerie per symbol.2 Cercare le librerie per symbol.3 symbolè un alias peralias(impostazione predefinita).EXTERNè un sinonimo diIMPORT, ad eccezione del fatto chesymbolviene importato solo se nell'assembly corrente sono presenti riferimenti.MACROL'uso di una variabile per contenere il codice della condizione di una macro non è supportato. I valori predefiniti per i parametri di macro non sono supportati.
NOFPNon supportato.
OPT,TTL,SUBTNon supportato, perché l'assembler Microsoft ARM non produce presentazioni.
PRESERVE8Non supportato.
RELOCRELOC npuò seguire solo un'istruzione o una direttiva di definizione dei dati. Non esiste un "simbolo anonimo" che può essere rilocato.REQUIRENon supportato.
REQUIRE8Non supportato.
THUMBXNon supportato, perché l'assembler Microsoft ARM non supporta il set di istruzioni Thumb-2EE.
Vedi anche
Riferimenti alla riga di comando dell'assembler ARM
Messaggi di diagnostica assembler ARM