Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ogólnie rzecz biorąc, asembler usługi Microsoft ARM używa języka zestawu ARM, który jest udokumentowany w przewodniku odniesienia arm compiler armasm. Jednak implementacje niektórych dyrektyw zestawów firmy Microsoft różnią się od dyrektyw zestawu ARM. W tym artykule wyjaśniono różnice.
Implementacje dyrektyw zestawu usługi ARM firmy Microsoft
AREAAsembler usługi Microsoft ARM obsługuje następujące
AREAatrybuty:ALIGN, ,CODE,READWRITENOINITDATAREADONLYCODEALIGN, , .ARMTHUMBWszystkie z wyjątkiem
THUMBiARMdziałają zgodnie z dokumentacją w przewodniku referencyjnym arm compiler armasm.W asemblerze usługi Microsoft ARM wskazuje,
THUMBżeCODEsekcja zawiera kod kciuka i jest wartością domyślną dlaCODEsekcji.ARMwskazuje, że sekcja zawiera kod arm.ATTRNieobsługiwane.
CODE16Nieobsługiwane, ponieważ oznacza to składnię kciuka wstępnego dostępu użytkowników, na którą nie zezwala asembler usługi Microsoft ARM.
THUMBZamiast tego należy użyć dyrektywy wraz ze składnią rejestrowania dostępu użytkowników.COMMONSpecyfikacja wyrównania dla wspólnego regionu nie jest obsługiwana.
DCDONieobsługiwane.
DN, ,QNSNSpecyfikacja typu lub pasa ruchu na aliasie rejestru nie jest obsługiwana.
ENTRYNieobsługiwane.
EQUSpecyfikacja typu zdefiniowanego symbolu nie jest obsługiwana.
EXPORTiGLOBALOkreśla eksporty przy użyciu tej składni:
EXPORT|GLOBALsymbol{[type]}symbolto symbol do wyeksportowania.[type], jeśli zostanie określony, może wskazywać[DATA], że symbol wskazuje dane lub[FUNC]wskazuje, że symbol wskazuje kod.GLOBALjest synonimem dla elementuEXPORT.EXPORTASNieobsługiwane.
FRAMENieobsługiwane.
FUNCTIONiPROCSkładnia zestawu umożliwia określenie niestandardowej konwencji wywoływania procedur: wyświetlasz listę rejestrów, które są wywoływane-zapisz, oraz tych, które są wywoływane-zapisz. Jednak gdy asembler usługi Microsoft ARM akceptuje składnię, ignoruje listy rejestrów. Informacje debugowania tworzone przez asemblera obsługują tylko domyślną konwencję wywoływania.
IMPORTiEXTERNOkreśla import przy użyciu tej składni:
IMPORT|EXTERNsymbol{ {, TYPE, WEAKaliast}}symbolto nazwa symbolu, który ma zostać zaimportowany.Jeśli
WEAKaliaszostanie określony, oznacza to, żesymboljest słaby zewnętrzne. Jeśli definicja nie zostanie znaleziona w czasie połączenia, wszystkie odwołania do niej zostaną powiązane zamiast tego z elementemalias.Jeśli
TYPEtparametr jest określony, wskazujet, jak konsolidator powinien spróbować rozwiązać problemsymbol. Te wartościtsą możliwe:Wartość Popis 1 Nie wyszukuj bibliotek dla elementu symbol.2 Wyszukaj biblioteki dla elementu symbol.3 symboljest aliasem (aliaswartość domyślna).EXTERNjest synonimem ,IMPORTz tą różnicą, że jest importowany tylko wtedy,symbolgdy istnieją odwołania do niego w bieżącym zestawie.MACROUżycie zmiennej do przechowywania kodu warunku makra nie jest obsługiwane. Wartości domyślne parametrów makra nie są obsługiwane.
NOFPNieobsługiwane.
OPT, ,TTLSUBTNieobsługiwane, ponieważ asembler usługi Microsoft ARM nie generuje list.
PRESERVE8Nieobsługiwane.
RELOCRELOC nmoże postępować zgodnie z instrukcjami lub dyrektywą definicji danych. Nie ma "symbolu anonimowego", który można przenieść.REQUIRENieobsługiwane.
REQUIRE8Nieobsługiwane.
THUMBXNieobsługiwane, ponieważ asembler arm firmy Microsoft nie obsługuje zestawu instrukcji Thumb-2EE.
Zobacz też
Dokumentacja wiersza polecenia asemblera ARM
Komunikaty diagnostyczne asemblera ARM