angielskifrancuskiniemieckiwłoskiportugalskirosyjskihiszpański

Ulubiona usługa OnWorks

aarch64-linux-gnu-as — online w chmurze

Uruchom aarch64-linux-gnu-as u dostawcy bezpłatnego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

To jest polecenie aarch64-linux-gnu-as, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu darmowych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


AS - przenośny asembler GNU.

STRESZCZENIE


jak [-a[cdghlns][=filet]] [--alternatywny] [-D]
[--skompresuj sekcje debugowania] [--nocompress-debug-sections]
[--debug-prefix-map stary=Nowy]
[--defsym sym=val] [-f] [-g] [--gtabs]
[--gtabs+] [--gdwarf-2] [--gdwarf-sekcje]
[--help] [-I reż] [-J]
[-K] [-L] [--lista-lewej-szerokości=NUM]
[--Listing-lewa-strona-szerokość2=NUM] [--lista-prawa-prawa-szerokość=NUM]
[--linie-kontynuacji-listy=NUM] [--zachowaj-lokalnych]
[-o objfile] [-R]
[--rozmiar skrótu=NUM] [--zmniejszenie-narzutów-pamięci]
[--Statystyka]
[-v] [-wersja] [--wersja]
[-W] [--ostrzegać] [--fatal-ostrzeżenia] [-w] [-x]
[-Z] [@FILE]
[--nazwa-sektu-podstaw] [--size-check=[błąd|ostrzeżenie]]
[--cel-pomoc] [opcje-celu]
[--|akta ...]

cel AAArch64 opcje:
[-EB|-EL]
[-mabi=ABI]

cel Alfa opcje:
[-mcpu]
[-mdebug | -brak-mdebug]
[-wymienić | -noreplace]
[-zrelaksować się] [-g] [-Grozmiar]
[-F] [-32addr]

cel ARC opcje:
[-mcpu=cpu]
[-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS]
[-mcode-gęstość]
[-EB|-EL]

cel ARM opcje:
[-mcpu=edytor[+rozbudowa...]]
[-Marsz=architektura[+rozbudowa...]]
[-mfpu=format zmiennoprzecinkowy]
[-mfloat-abi=abi]
[-meabi=ver]
[-mkciuk]
[-EB|-EL]
[-maszt-32|-maszt-26|-mapcs-float|
-mapcs-reentrant]
[-mkciuk-współpraca] [-k]

cel Blackfin opcje:
[-mcpu=edytor[-sirewizja]]
[-mfdpic]
[-mno-fdpic]
[-mnopic]

cel CRIS opcje:
[--podkreślać | --bez podkreślenia]
[--fotka] [-N]
[--emulacja=przestępstwo | --emulacja=kryzys]
[--marzec=v0_v10 | --marzec=v10 | --marzec=v32 | --marzec=powszechna_v10_v32]

cel D10V opcje:
[-O]

cel D30V opcje:
[-O|-n|-N]

cel OLŚNIENIE opcje:
[-mepifania|-mepifania16]

cel H8 / 300 opcje:
[-h-tick-hex]

cel i386 opcje:
[- 32|--x32|- 64] [-n]
[-Marsz=CPU[+ROZBUDOWA...]] [-mtune=CPU]

cel i960 opcje:
[-ACA|-ACA_A|-ACB|-ACC|-ZNANY JAKO|-AKB|
-AKC|-AMC]
[-b] [-bez relaksu]

cel IA-64 opcje:
[-mstała-gp|-mauto-zdjęcie]
[-milp32|-milp64|-mlp64|-Mp64]
[-mle|mbe]
[-mtune=tytan1|-mtune=tytan2]
[-munwind-check=ostrzeżenie|-munwind-check=błąd]
[-mhint.b=ok|-mhint.b=ostrzeżenie|-mhint.b=błąd]
[-x|-xwyraźne] [-xauto] [-xdebug]

cel IP2K opcje:
[-mip2022|-mip2022ext]

cel M32C opcje:
[-m32c|-m16c] [-relaks] [-h-tick-hex]

cel M32R opcje:
[--m32rx|--[nie-]ostrzegaj-wyraźne-równoległe-konflikty|
--W[n]p]

cel M680X0 opcje:
[-l] [-m68000|-m68010|-m68020|...]

cel M68HC11 opcje:
[-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg]
[-mshort|-mlong]
[-mshort-double|-mlong-podwójny]
[--force-długie-gałęzie] [--krótkie-gałązki]
[--tryb ścisłego-bezpośredniego] [--print-insn-składnia]
[--drukuj-kody operacyjne] [--generuj-przykład]

cel MCORE opcje:
[-jsri2bsr] [-filtr] [-zrelaksować się]
[-mcpu=[210|340]]

cel meta opcje:
[-mcpu=cpu] [-mfpu=cpu] [-mdsp=cpu] cel MIKROBLAZUJ opcje:

cel MIPS opcje:
[-nocpp] [-EL] [-EB] [-O[Optymalizacja poziom]]
[-g[debug poziom]] [-G num] [-KPIC] [-call_shared]
[-nieudostępnione] [-xgot [-mvxworks-zdjęcie]
[-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32]
[-mfp64] [-mgp64] [-mfpxx]
[-modd-spreg] [-mno-nieparzysty-spreg]
[-Marsz=CPU] [-mtune=CPU] [-mips1] [-mips2]
[-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2]
[-mips32r3] [-mips32r5] [-mips32r6] [-mips64] [-mips64r2]
[-mips64r3] [-mips64r5] [-mips64r6]
[-konstrukcja-pływaków] [-brak-konstrukcji-pływaków]
[-mnan=kodowanie]
[-pułapka] [-bez przerwy] [-przerwa] [-bez pułapki]
[-mips16] [-nie-mips16]
[-mmicromips] [-mno-micromips]
[-msmartmips] [-mno-smartmips]
[-mips3d] [-no-mips3d]
[-mdmx] [-nie-mdmx]
[-mdsp] [-mno-dsp]
[-mdspr2] [-mno-dspr2]
[-mmsa] [-mno-msa]
[-mxpa] [-mno-xpa]
[-mmt] [-mno-mt]
[-mmcu] [-mno-mcu]
[-minsn32] [-mno-insn32]
[-mfix7000] [-mno-fix7000]
[-mfix-rm7000] [-mno-fix-rm7000]
[-mfix-vr4120] [-mno-fix-vr4120]
[-mfix-vr4130] [-mno-fix-vr4130]
[-mdebug] [-brak-mdebug]
[-mpdr] [-mno-pdr]

cel MMIX opcje:
[--stałe-specjalne-nazwy-rejestrów] [--globalizuj-symbole]
[--gnu-składnia] [--zrelaksować się] [--brak-predefiniowanych-symboli]
[--no-rozwiń] [--no-merge-gregs] [-x]
[--linker-przydzielone-gregi]

cel Nios II opcje:
[-relaks-wszystko] [-sekcja-relaks] [-bez relaksu]
[-EB] [-EL]

cel NDS32 opcje:
[-EL] [-EB] [-O] [-Os] [-mcpu=cpu]
[-misa=isa] [-mabi=abi] [-centrum-wewnętrzne]
[-m[nie-]16-bitowy] [-m[no-]perf-ext] [-m[no-]perf2-ext]
[-m[no-]string-ext] [-m[nie-]dsp-ext] [-m[no-]mac] [-m[no-]div]
[-m[no-]audio-isa-ext] [-m[nie-]fpu-sp-dod] [-m[nie-]fpu-dp-dod]
[-m[nie-]fpu-fma] [-mfpu-freg=FREG] [-mreduced-regs]
[-mfull-regs] [-m[no-]dx-regs] [-mpic] [-mno-relaks]
[-mb2bb]

cel PDP11 opcje:
[-mpic|-mno-pic] [-centrum handlowe] [-mno-rozszerzenia]
[-mrozbudowa|-mnie-rozbudowa]
[-mcpu] [-mmaszyna]

cel picoJava opcje:
[-mb|Ja]

cel PowerPC opcje:
[.A32|.A64]
[-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405|
-m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mppc64|
-m620|-ja500|-e500x2|-ja500mc|-ja500mc64|-ja5500|-ja6500|-mppc64bridge|
-mbooke|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x|-mpower6|-mpwr6|
-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2|
-mcell|-mspe|-mtytan|-ja300|-mcom]
[-wiele] [-maltivec|-mvsx|-mhtm|-mvle]
[-mregnames|-mno-regnames]
[-mprzeprowadzka|-mrelocable-lib|-K PIC] [-członek]
[-mały|-mlittle-endian|Im|-duży|-mbig-endian|-być]
[-msolaris|-mno-solaris]
[-nops=liczyć]

cel RL78 opcje:
[-mg10]
[-m32bit-podwaja|-m64bit-podwaja]

cel RX opcje:
[-mlittle-endian|-mbig-endian]
[-m32bit-podwaja|-m64bit-podwaja]
[-muza-konwencjonalne-nazwy-sekcji]
[-msmall-data-limit]
[-mpid]
[-mrelaks]
[-mint-rejestr=numer]
[-mgcc-abi|-mrx-abi]

cel s390 opcje:
[-m31|-m64] [-mesa|-mzarch] [-Marsz=CPU]
[-mregnames|-mno-regnames]
[-mwarn-areg-zero]

cel SCORE opcje:
[-EB][-EL][-FIXDD][-NWARN]
[-PUNKTACJA5][-SCORE5U][-PUNKTACJA7][-PUNKTACJA3]
[-marzec=score7][-marzec=score3]
[-USE_R1][-KPIC][-O0][-G num][-V]

cel SPARC opcje:
[-Av6|-Av7|-Av8|-Asparclet|-Asparklit
-Av8plus|-Av8plusa|-Av9|-Av9a]
[-xarch=v8plus|-xarch=v8plusa] [-guz]
[-32|-64]

cel TIC54X opcje:
[-mcpu=54[123589]|-mcpu=54[56]lp] [-tryb-mfar|-mf]
[-błędy-do-pliku |Ja ]

cel TIC6X opcje:
[-marzec=łuk] [-mbig-endian|-mlittle-endian]
[-mdsbt|-mno-dsbt] [-mpid=nie|-mpid=blisko|-mpid=daleko]
[-mpic|-mno-pic]

cel PŁYTKA-Gx opcje:
[-m32|-m64][-EB][-EL]

cel Wizja opcje:
[-mtune=łuk]

cel Xtensa opcje:
[--[no-]tekst-sekcji-literałów] [--[no-]auto-litpools]
[--[no-]absolutne-literów]
[--[nie-]wyrównaj do celu] [--[nie-]longcals]
[--[brak-]przekształcenia]
[--zmień nazwę-sekcji stara nazwa=nowe imie]
[--[nie-]trampoliny]

cel Z80 opcje:
[-z80] [-r800]
[ -ignoruj-nieudokumentowane-instrukcje] [-Wnud]
[ -ignoruj-nieprzenośne-instrukcje] [-Wnup]
[ -ostrzegaj-nieudokumentowane-instrukcje] [-Wud]
[ -ostrzegaj-nieprzenośne-instrukcje] [-Wup]
[ -zabroń-nieudokumentowanych-instrukcji] [-Fud]
[ -zabroń-nieprzenośnych-instrukcji] [-Fup]

OPIS


GNU as to naprawdę rodzina monterów. Jeśli używasz (lub używałeś) asemblera GNU na
jednej architektury, powinieneś znaleźć dość podobne środowisko, gdy używasz go na innej
architektura. Każda wersja ma wiele wspólnego z innymi, w tym plik obiektowy
formaty, większość dyrektyw asemblera (często nazywane pseudo-operacje) i składni asemblera.

as jest przeznaczony przede wszystkim do asemblowania danych wyjściowych kompilatora GNU C "gcc" do użytku przez
linker „ld”. Niemniej jednak staraliśmy się zrobić as zmontuj poprawnie wszystko, co
montowaliby inni asemblery dla tej samej maszyny. Wszelkie wyjątki są udokumentowane
wyraźnie. To nie znaczy as zawsze używa tej samej składni, co inny asembler dla
ta sama architektura; na przykład znamy kilka niekompatybilnych wersji montażu 680x0
składnia języka.

Za każdym razem, gdy biegasz as kompiluje dokładnie jeden program źródłowy. Program źródłowy jest zrobiony
jeden lub więcej plików. (Standardowe wejście to również plik.)

Dajesz as wiersz poleceń, który ma zero lub więcej nazw plików wejściowych. Pliki wejściowe są
przeczytaj (od lewej nazwy pliku do prawej). Argument wiersza poleceń (w dowolnej pozycji), który ma:
nazwa pliku wejściowego nie ma specjalnego znaczenia.

Jeśli dasz as brak nazw plików, próbuje odczytać jeden plik wejściowy z as standard
wejście, które zwykle jest twoim terminalem. Być może będziesz musiał wpisać CTL-D powiedzieć as nie ma
więcej programu do montażu.

Zastosowanie -- jeśli potrzebujesz jawnie nazwać standardowy plik wejściowy w wierszu poleceń.

Jeśli źródło jest puste, as tworzy mały, pusty plik obiektowy.

as może zapisywać ostrzeżenia i komunikaty o błędach do standardowego pliku błędów (zazwyczaj twój
terminal). To nie powinno się zdarzyć, gdy działa kompilator as automatycznie. Ostrzeżenia
zgłosić założenie poczynione, aby as może nadal asemblować wadliwy program; raport o błędach
poważny problem, który zatrzymuje montaż.

Jeśli wzywasz as za pomocą kompilatora GNU C możesz użyć -Wa możliwość przejścia
argumenty do asemblera. Argumenty asemblera muszą być oddzielone od siebie
inne (i -Wa) przecinkami. Na przykład:

gcc -c -g -O -Wa,-alh,-L plik.c

Przekazuje to monterowi dwie opcje: -alh (wyślij listing na standardowe wyjście za pomocą
źródło wysokiego poziomu i montażu) i -L (zachowaj lokalne symbole w tabeli symboli).

Zwykle nie musisz tego używać -Wa mechanizm, ponieważ wiele kompilatorów wiersza poleceń
opcje są automatycznie przekazywane do asemblera przez kompilator. (Możesz zadzwonić do GNU
sterownik kompilatora z -v możliwość dokładnego sprawdzenia, jakie opcje przekazuje każdemu
przepustka kompilacyjna, w tym asembler.)

OPCJE


@filet
Czytaj opcje wiersza poleceń z filet. Odczytane opcje są wstawiane w miejsce
oryginał @filet opcja. Gdyby filet nie istnieje lub nie można go odczytać, to opcja
będą traktowane dosłownie, a nie usuwane.

Opcje w filet są oddzielone białymi znakami. Może być dołączony znak odstępu
w opcji, otaczając całą opcję pojedynczym lub podwójnym cudzysłowem. Każdy
znak (w tym ukośnik odwrotny) może być dołączany przez poprzedzenie znaku, który ma być
w zestawie z odwrotnym ukośnikiem. ten filet może sam zawierać dodatkowe @filet opcje; każdy
takie opcje będą przetwarzane rekurencyjnie.

-a[cdghlmns]
Włącz aukcje na wiele sposobów:

-ac pomiń fałszywe warunki warunkowe

-ogłoszenie pomiń dyrektywy debugowania

-ag zawierać informacje ogólne, takie jak wersja i przekazane opcje

-ah uwzględnij źródło wysokiego poziomu

-glin obejmują montaż

-jestem zawierać rozszerzenia makr

-na pomiń przetwarzanie formularzy

-tak jak zawierać symbole

=plik
ustaw nazwę pliku aukcji

Możesz łączyć te opcje; na przykład użyj -aln do wykazu zespołów bez
przetwarzanie formularzy. ten =plik opcja, jeśli jest używana, musi być ostatnią. Samodzielnie, -a
domyślnie to -ahls.

--alternatywny
Rozpocznij w alternatywnym trybie makr.

--skompresuj sekcje debugowania
Kompresuj sekcje debugowania DWARF za pomocą zlib z SHF_COMPRESSED z ELF ABI. ten
wynikowy plik obiektowy może nie być kompatybilny ze starszymi linkerami i plikiem obiektowym
narzędzia. Zwróć uwagę, czy kompresja utworzy daną sekcję większe to nie jest
sprężony.

--compress-debug-sections=brak
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
Te opcje kontrolują sposób kompresji sekcji debugowania DWARF.
--compress-debug-sections=brak odpowiada --nocompress-debug-sections.
--compress-debug-sections=zlib dzięki --compress-debug-sections=zlib-gabi są równoważne
do --skompresuj sekcje debugowania. --compress-debug-sections=zlib-gnu kompresuje KRASNOLUB
debuguj sekcje za pomocą zlib. Sekcje debugowania zostały zmienione na początek .zdebug.
Zwróć uwagę, czy kompresja utworzy daną sekcję większe wtedy nie jest skompresowany ani
zmieniono nazwę.

--nocompress-debug-sections
Nie kompresuj sekcji debugowania DWARF. Zwykle jest to ustawienie domyślne dla wszystkich celów
z wyjątkiem x86/x86_64, ale można użyć opcji konfiguracji czasu, aby to zmienić.

-D Zignorowany. Ta opcja jest akceptowana ze względu na zgodność skryptu z wywołaniami innych osób
monterzy.

--debug-prefix-map stary=Nowy
Podczas asemblowania plików w katalogu stary, zapisz opisujące je informacje debugowania
jak w Nowy zamiast.

--defsym sym=wartość
Zdefiniuj symbol sym być wartość przed asemblacją pliku wejściowego. wartość musi być
stała całkowita. Jak w C, wiodący 0x wskazuje wartość szesnastkową, a wiodący
0 wskazuje wartość ósemkową. Wartość symbolu można nadpisać w źródle
plik za pomocą pseudo-operacji „.set”.

-f "szybko"---pomiń białe znaki i wstępne przetwarzanie komentarzy (załóżmy, że źródłem jest wyjście kompilatora).

-g
--gen-debug
Generuj informacje debugowania dla każdej linii źródłowej asemblera, używając dowolnego debugowania
format jest preferowany przez cel. Obecnie oznacza to STABS, ECOFF lub
KRASNOLUD2.

--gtabs
Generuj informacje debugowania stab dla każdej linii asemblera. Może to pomóc w debugowaniu
kod asemblera, jeśli debugger sobie z tym poradzi.

--gtabs+
Generuj informacje o debugowaniu stab dla każdej linii asemblera, z rozszerzeniami GNU, które:
prawdopodobnie tylko gdb może sobie z tym poradzić, a to może spowodować awarię innych debugerów lub odmowę
przeczytaj swój program. Może to pomóc w debugowaniu kodu asemblera. Obecnie jedyny GNU
rozszerzenie to lokalizacja bieżącego katalogu roboczego w czasie asemblacji.

--gdwarf-2
Generuj informacje debugowania DWARF2 dla każdej linii asemblera. To może pomóc
debugowanie kodu asemblera, jeśli debugger sobie z tym poradzi. Uwaga --- ta opcja jest tylko
obsługiwane przez niektóre cele, a nie wszystkie.

--gdwarf-sekcje
Zamiast tworzyć sekcję .debug_line, utwórz serię .debug_line.bla działy
gdzie bla to nazwa odpowiedniej sekcji kodu. Na przykład sekcja kodu
nazywa .tekst.funkcja informacje o numerze linii karzełka zostaną umieszczone w sekcji
nazywa .debug_line.text.func. Jeśli sekcja kodu jest właśnie nazywana .tekst następnie debuguj
sekcja linii nadal będzie nazywana po prostu .debug_line bez przyrostka.

--size-check=błąd
--size-check=ostrzeżenie
Wydaj błąd lub ostrzeżenie dotyczące nieprawidłowej dyrektywy ELF .size.

--help
Wydrukuj podsumowanie opcji wiersza poleceń i zakończ.

--cel-pomoc
Wydrukuj podsumowanie wszystkich opcji specyficznych dla celu i zakończ.

-I reż
Dodaj katalog reż do listy wyszukiwania dla dyrektyw ".include".

-J Nie ostrzegaj o podpisanym przepełnieniu.

-K Wyświetlaj ostrzeżenia, gdy tabele różnic zostały zmienione dla długich przemieszczeń.

-L
--zachowaj-lokalnych
Zachowaj (w tabeli symboli) symbole lokalne. Te symbole zaczynają się od specyficznego dla systemu
lokalne przedrostki etykiet, zazwyczaj .L dla systemów ELF lub L dla tradycyjnych systemów a.out.

--listing-lewej-szerokości=numer
Ustaw maksymalną szerokość, w słowach, kolumny danych wyjściowych dla listingu asemblera na
numer.

--listing-lewej-szerokości2=numer
Ustaw maksymalną szerokość, słownie, kolumny danych wyjściowych dla linii kontynuacji w
lista asemblera do numer.

--listing-rhs-width=numer
Ustaw maksymalną szerokość wejściowej linii źródłowej, wyświetlaną na liście, na numer
bajty.

--listing-cont-lines=numer
Ustaw maksymalną liczbę wierszy drukowanych na liście dla jednego wiersza wejściowego na
numer + 1.

-o objfile
Nazwij wyjście pliku obiektowego z as objfile.

-R Złóż sekcję danych do sekcji tekstowej.

--rozmiar-hash=numer
Ustaw domyślny rozmiar tablic mieszających GAS na liczbę pierwszą bliską numer.
Zwiększenie tej wartości może skrócić czas potrzebny asemblerowi na wykonanie
jego zadań, kosztem zwiększenia wymagań pamięciowych asemblera.
Podobnie zmniejszenie tej wartości może zmniejszyć wymagania dotyczące pamięci kosztem
prędkość.

--zmniejszenie-narzutów-pamięci
Ta opcja zmniejsza wymagania GAS dotyczące pamięci, kosztem wykonania montażu
procesy wolniej. Obecnie ten przełącznik jest synonimem --rozmiar-hash=4051, ale w
w przyszłości może mieć również inne skutki.

--nazwa-sektu-podstaw
Honoruj ​​sekwencje podstawienia w nazwach sekcji.

--Statystyka
Wydrukuj maksymalną przestrzeń (w bajtach) i całkowity czas (w sekundach) używany przez asembler.

--strip-lokalny-absolutny
Usuń lokalne symbole bezwzględne z wychodzącej tabeli symboli.

-v
-wersja
Wydrukuj as wersja.

--wersja
Wydrukuj as wersja i wyjdź.

-W
--nie-ostrzegaj
Pomiń komunikaty ostrzegawcze.

--fatal-ostrzeżenia
Traktuj ostrzeżenia jako błędy.

--ostrzegać
Nie pomijaj komunikatów ostrzegawczych ani nie traktuj ich jako błędów.

-w Zignorowany.

-x Zignorowany.

-Z Generuj plik obiektowy nawet po błędach.

-- | akta ...
Standardowe wejście lub pliki źródłowe do asemblacji.

Następujące opcje są dostępne, gdy jest skonfigurowany dla trybu 64-bitowego ARM
Architektura (AArch64).

-EB Ta opcja określa, że ​​wyjście generowane przez asembler powinno być oznaczone jako
zakodowane dla procesora big-endian.

-EL Ta opcja określa, że ​​wyjście generowane przez asembler powinno być oznaczone jako
zakodowane dla procesora little-endian.

-mabi=abi
Określ, którego ABI używa kod źródłowy. Rozpoznawane argumenty to: „ilp32” i
"lp64", który decyduje o wygenerowanym pliku obiektowym w formacie ELF32 i ELF64
odpowiednio. Wartość domyślna to „lp64”.

-mcpu=edytor[+rozbudowa...]
Ta opcja określa procesor docelowy. Asembler wyświetli komunikat o błędzie
jeśli podjęta zostanie próba złożenia instrukcji, która nie zostanie wykonana na celu
edytor. Rozpoznawane są następujące nazwy procesorów: „cortex-a35”, „cortex-a53”,
„cortex-a57”, „cortex-a72”, „exynos-m1”, „qdf24xx”, „thunderx”, „xgene1” i „xgene2”.
Specjalna nazwa „all” może być użyta, aby umożliwić asemblerowi akceptowanie ważnych instrukcji
dla dowolnego obsługiwanego procesora, w tym wszystkich opcjonalnych rozszerzeń.

Oprócz podstawowego zestawu instrukcji, asembler może zostać poproszony o zaakceptowanie lub
ograniczyć, różne mnemoniki rozszerzeń, które rozszerzają procesor.

Jeśli niektóre implementacje konkretnego procesora mogą mieć rozszerzenie, to
te rozszerzenia są automatycznie włączane. W związku z tym zwykle nie będziesz mieć
aby określić dodatkowe rozszerzenia.

-marzec=architektura[+rozbudowa...]
Ta opcja określa architekturę docelową. Asembler wyda błąd
komunikat, jeśli podjęta zostanie próba złożenia instrukcji, która nie zostanie wykonana na
architektura docelowa. Rozpoznawane są następujące nazwy architektury: „armv8-a”,
„armv8.1-a” i „armv8.2-a”.

Jeśli oba -mcpu dzięki -Marsz są określone, asembler użyje ustawienia dla -mcpu.
Jeśli żadna z tych opcji nie zostanie określona, ​​asembler domyślnie wybierze -mcpu=wszystkie.

Opcję architektury można rozszerzyć za pomocą tego samego rozszerzenia zestawu instrukcji
opcje jak -mcpu opcja. w odróżnieniu -mcpu, rozszerzenia nie zawsze są włączone przez
domyślna,

-mverbose-błąd
Ta opcja włącza szczegółowe komunikaty o błędach dla gazu AArch64. Ta opcja jest włączona przez
domyślna.

-mno-gadatliwy-błąd
Ta opcja wyłącza pełne komunikaty o błędach w gazie AArch64.

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora Alpha.

-mcpu
Ta opcja określa procesor docelowy. Jeśli podjęto próbę złożenia an
instrukcji, która nie zostanie wykonana na docelowym procesorze, asembler może:
rozwiń instrukcję jako makro lub wyślij komunikat o błędzie. Ta opcja to
odpowiednik dyrektywy „.arch”.

Rozpoznawane są następujące nazwy procesorów: 21064, "21064a", 21066, 21068, 21164,
„21164a”, „21164pc”, 21264, „21264a”, „21264b”, „ev4”, „ev5”, „lca45”, „ev5”, „ev56”,
„pca56”, „ev6”, „ev67”, „ev68”. Specjalna nazwa „wszystkie” może być użyta, aby umożliwić
asembler do akceptowania instrukcji obowiązujących dla dowolnego procesora Alpha.

W celu wsparcia istniejących praktyk w OSF/1 w odniesieniu do „.arch” i istniejących
ćwiczyć w obrębie MILO (program ładujący Linux ARC), ponumerowane nazwy procesorów (np
21064) włącza instrukcje PALcode specyficzne dla procesora, podczas gdy "electro-vlasic"
nazwy (np. „ev4”) nie.

-mdebug
-brak-mdebug
Włącza lub wyłącza generowanie enkapsulacji ".mdebug" dla dyrektyw stabs i
deskryptory procedur. Domyślnym ustawieniem jest automatyczne włączanie „.mdebug”, gdy
widać pierwszą dyrektywę pchnięć.

-zrelaksować się
Ta opcja wymusza umieszczenie wszystkich relokacji w pliku obiektowym zamiast zapisywania
przestrzeń i rozwiązywanie niektórych relokacji w czasie montażu. Zwróć uwagę, że ta opcja nie
propaguj arytmetykę wszystkich symboli do pliku obiektowego, ponieważ nie wszystkie symbole
arytmetyka może być reprezentowana. Jednak opcja ta może być nadal przydatna w określonych
aplikacji.

-wymienić
-noreplace
Włącza lub wyłącza optymalizację wywołań procedur, zarówno w assemblage, jak i at
czas połączenia. Te opcje są dostępne tylko dla celów VMS, a „-replace” to
domyślny. Zobacz rozdział 1.4.1 podręcznika OpenVMS Linker Utility.

-g Ta opcja jest używana, gdy kompilator generuje informacje debugowania. Kiedy gcc jest używane
mips-tfile aby wygenerować informacje debugowania dla ECOFF, należy przekazać lokalne etykiety
aż do pliku obiektowego. W przeciwnym razie ta opcja nie ma żadnego efektu.

-Grozmiar
Lokalny wspólny symbol większy niż rozmiar jest umieszczony w ".bss", podczas gdy mniejsze symbole są
umieszczony w ".sbss".

-F
-32addr
Te opcje są ignorowane ze względu na zgodność z poprzednimi wersjami.

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora ARC.

-mcpu=cpu
Ta opcja wybiera wariant procesora lokalnego.

-EB | -EL
Wybierz wyjście big-endian (-EB) lub little-endian (-EL).

-mcode-gęstość
Włącz instrukcje rozszerzania gęstości kodu.

Następujące opcje są dostępne w konfiguracji zgodnej z rodziną procesorów ARM.

-mcpu=edytor[+rozbudowa...]
Określ, który wariant procesora ARM jest celem.

-marzec=architektura[+rozbudowa...]
Określ, który wariant architektury ARM jest używany przez cel.

-mfpu=format zmiennoprzecinkowy
Wybierz, która architektura zmiennoprzecinkowa jest docelową.

-mfloat-abi=abi
Wybierz, który zmiennoprzecinkowy ABI jest używany.

-mkciuk
Włącz dekodowanie instrukcji tylko kciuka.

-maszt-32 | -maszt-26 | -mapcs-float | -mapcs-reentrant
Wybierz, która konwencja wywoływania procedur jest używana.

-EB | -EL
Wybierz wyjście big-endian (-EB) lub little-endian (-EL).

-mkciuk-współpraca
Określ, że kod został wygenerowany z współdziałaniem między kodem kciuka i ARM
na uwadze.

-mccs
Włącza tryb zgodności składni zestawu CodeComposer Studio.

-k Określ, że kod PIC został wygenerowany.

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora Blackfin
rodzina.

-mcpu=edytor[-sirewizja]
Ta opcja określa procesor docelowy. Opcjonalne sirewizja nie jest używany w
monter. Jest tutaj tak, że GCC może łatwo przekazać swoją opcję "-mcpu=". ten
asembler wyświetli komunikat o błędzie, jeśli zostanie podjęta próba złożenia instrukcji
które nie zostaną wykonane na procesorze docelowym. Następujące nazwy procesorów to
rozpoznane: "bf504", "bf506", "bf512", "bf514", "bf516", "bf518", "bf522", "bf523",
"bf524", "bf525", "bf526", "bf527", "bf531", "bf532", "bf533", "bf534", "bf535" (nie
zaimplementowane), "bf536", "bf537", "bf538", "bf539", "bf542", "bf542m", "bf544",
„bf544m”, „bf547”, „bf547m”, „bf548”, „bf548m”, „bf549”, „bf549m”, „bf561” i
"bf592".

-mfdpic
Montaż dla FDPIC ABI.

-mno-fdpic
-mnopic
Wyłącz -mfdpic.

Zobacz strony informacyjne, aby zapoznać się z dokumentacją opcji specyficznych dla CRIS.

Poniższe opcje są dostępne w konfiguracji zgodnej z procesorem D10V.

-O Zoptymalizuj wyniki poprzez zrównoleglenie instrukcji.

Poniższe opcje są dostępne w konfiguracji zgodnej z procesorem D30V.

-O Zoptymalizuj wyniki poprzez zrównoleglenie instrukcji.

-n Ostrzegaj, gdy generowane są nopy.

-N Ostrzegaj, gdy generowane jest nop po 32-bitowej instrukcji mnożenia.

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora Epiphany.

-mepifania
Określa, że ​​dozwolone są zarówno instrukcje 32, jak i 16-bitowe. To jest ustawienie domyślne
zachowanie.

-mepifania16
Ogranicza dozwolone instrukcje tylko do zestawu 16-bitowego.

Poniższe opcje są dostępne, gdy jest skonfigurowany dla procesora H8/300.
@Rozdział H8/300 Funkcje zależne

Opcje
Wersja Renesas H8/300 „as” ma jedną opcję zależną od maszyny:

-h-tick-hex
Obsługuje stałe szesnastkowe stylu H'00 oprócz stylu 0x00.

-mach=Nazwa
Ustawia wariant maszyny H8300. Rozpoznawane są następujące nazwy maszyn: „h8300h”,
„h8300hn”, „h8300s”, „h8300sn”, „h8300sx” i „h8300sxn”.

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora i386.

- 32 | --x32 | - 64
Wybierz rozmiar słowa, 32 bity lub 64 bity. - 32 sugeruje Intel i386
architektura, podczas gdy --x32 dzięki - 64 implikuj architekturę AMD x86-64 z 32-bitową lub 64-bitową
odpowiednio rozmiar słowa.

Te opcje są dostępne tylko w formacie pliku obiektu ELF i wymagają, aby
uwzględniono niezbędną obsługę BFD (na platformie 32-bitowej trzeba dodać
--enable-64-bit-bfd, aby skonfigurować, włączyć obsługę 64-bitową i użyć x86-64 jako celu
Platforma).

-n Domyślnie x86 GAS zastępuje wiele instrukcji nop używanych do wyrównania w kodzie
sekcje z wielobajtowymi instrukcjami nop, takie jak leal 0(%esi,1),%esi. Ten przełącznik
wyłącza optymalizację.

--dzielić
Na platformach wywodzących się z SVR4 postać / jest traktowany jako znak komentarza, który
oznacza, że ​​nie można go używać w wyrażeniach. ten --dzielić opcja obraca się / w
normalny charakter. To nie wyłącza / na początku linii zaczynającej się od a
komentować lub wpływać na używanie # za rozpoczęcie komentarza.

-marzec=CPU[+ROZBUDOWA...]
Ta opcja określa procesor docelowy. Asembler wyświetli komunikat o błędzie
jeśli podjęta zostanie próba złożenia instrukcji, która nie zostanie wykonana na celu
edytor. Rozpoznawane są następujące nazwy procesorów: „i8086”, „i186”, „i286”,
„i386”, „i486”, „i586”, „i686”, „pentium”, „pentiumpro”, „pentiumii”, „pentiumiii”,
„pentium4”, „prescott”, „nocona”, „core”, „core2”, „corei7”, „l1om”, „k1om”, „iamcu”,
"k6", "k6_2", "atlon", "opteron", "k8", "amdfam10", "bdver1", "bdver2", "bdver3",
„bdver4”, „znver1”, „btver1”, „btver2”, „generic32” i „generic64”.

Oprócz podstawowego zestawu instrukcji, asembler może zostać poproszony o zaakceptowanie różnych
mnemotechnika rozszerzenia. Na przykład „-march=i686+sse4+vmx” rozszerza i686 z s4 dzięki
VMX. Obecnie obsługiwane są następujące rozszerzenia: 8087, 287, 387, "no87", "mmx",
„nommx”, „sse”, „sse2”, „sse3”, „ssse3”, „sse4.1”, „sse4.2”, „sse4”, „nosse”, „avx”,
"avx2", "adx", "rdseed", "prfchw", "smap", "mpx", "sha", "prefetchwt1", "clflushopt",
„se1”, „clwb”, „pcommit”, „avx512f”, „avx512cd”, „avx512er”, „avx512pf”, „avx512vl”,
„avx512bw”, „avx512dq”, „avx512ifma”, „avx512vbmi”, „noavx”, „vmx”, „vmfunc”, „smx”,
"xsave", "xsaveopt", "xsavec", "xsaves", "aes", "pclmul", "fsgsbase", "rdrnd", "f16c",
„bmi2”, „fma”, „movbe”, „ept”, „lzcnt”, „hle”, „rtm”, „invpcid”, „clflush”, „mwaitx”,
„clzero”, „lwp”, „fma4”, „xop”, „cx16”, „syscall”, „rdtscp”, „3dnow”, „3dnowa”,
„sse4a”, „sse5”, „svme”, „abm” i „kłódka”. Zauważ, że zamiast rozszerzać podstawowy
zestaw instrukcji, mnemoniki rozszerzenia zaczynające się od „nie” unieważniają odpowiednie
funkcjonalność.

Gdy dyrektywa ".arch" jest używana z -Marsz, zajmie to dyrektywa ".arch"
precedens.

-mtune=CPU
Ta opcja określa procesor do optymalizacji. W połączeniu z
-Marsz opcja, tylko instrukcje procesora określone przez -Marsz opcja będzie
być generowane.

Ważny CPU wartości są identyczne z listą procesorów -marzec=CPU.

-msse2avx
Ta opcja określa, że ​​asembler powinien kodować instrukcje SSE za pomocą VEX
prefiks.

-msse-check=Żaden
-msse-check=ostrzeżenie
-msse-check=błąd
Te opcje kontrolują, czy asembler powinien sprawdzić instrukcje SSE.
-msse-check=Żaden spowoduje, że asembler nie będzie sprawdzał instrukcji SSE, co jest
domyślna. -msse-check=ostrzeżenie spowoduje, że asembler wyda ostrzeżenie dla dowolnego SSE
instrukcja. -msse-check=błąd spowoduje, że asembler wyda błąd dla dowolnego SSE
instrukcja.

-mavxscalar=128
-mavxscalar=256
Te opcje kontrolują sposób, w jaki asembler powinien kodować skalarne instrukcje AVX.
-mavxscalar=128 zakoduje skalarne instrukcje AVX o długości wektora 128 bitów, co
jest wartością domyślną. -mavxscalar=256 zakoduje skalarne instrukcje AVX z 256bit
długość wektora.

-mevexlig=128
-mevexlig=256
-mevexlig=512
Te opcje kontrolują sposób, w jaki asembler powinien kodować EVEX z ignorowaniem długości (LIG)
instrukcje. -mevexlig=128 zakoduje instrukcje LIG EVEX za pomocą 128-bitowego wektora
długość, która jest wartością domyślną. -mevexlig=256 dzięki -mevexlig=512 zakoduje LIG EVEX
instrukcje o długości odpowiednio 256 bitów i 512 bitów.

-mevexwig=0
-mevexwig=1
Te opcje kontrolują sposób, w jaki asembler powinien kodować w-ignored (WIG) EVEX
instrukcje. -mevexwig=0 zakoduje instrukcje WIG EVEX z evex.w = 0, co oznacza
domyślny. -mevexwig=1 zakoduje instrukcje WIG EVEX z evex.w = 1.

-mmnemoniczny=do
-mmnemoniczny=intel
Ta opcja określa mnemonik instrukcji dla pasujących instrukcji. ten
Dyrektywy „.att_mnemonic” i „.intel_mnemonic” będą miały pierwszeństwo.

-mskładnia=do
-mskładnia=intel
Ta opcja określa składnię instrukcji podczas przetwarzania instrukcji. ten
Dyrektywy „.att_syntax” i „.intel_syntax” będą miały pierwszeństwo.

-mnaked-reg
Ta opcja określa, że ​​rejestry nie wymagają % prefiks. „.att_syntax” i
Dyrektywy „.intel_syntax” będą miały pierwszeństwo.

-madd-bnd-prefiks
Ta opcja wymusza na asemblerze dodanie prefiksu BND do wszystkich gałęzi, nawet jeśli takie
prefiks nie został wyraźnie określony w kodzie źródłowym.

-mno-shared
Na docelowym ELF, asembler zwykle optymalizuje relokacje inne niż PLT przeciwko
zdefiniowane niesłabe globalne cele oddziałów z domyślną widocznością. ten -mshared opcja
mówi asemblerowi, aby wygenerował kod, który może trafić do biblioteki dzielonej, w której wszystkie nie-
słabe globalne cele oddziałów z domyślną widocznością mogą być wywłaszczone. Wynikowy
kod jest nieco większy. Ta opcja wpływa tylko na obsługę oddziału
instrukcje.

-mbi-obj
W systemie docelowym x86-64 PE/COFF ta opcja wymusza użycie formatu pliku dużego obiektu, który:
pozwala na więcej niż 32768 sekcji.

-momit-lock-prefiks=Nie
-momit-lock-prefiks=tak
Te opcje kontrolują jak asembler powinien kodować prefiks blokady. Ta opcja to
przeznaczone jako obejście dla procesorów, które nie działają na prefiksie blokady. Ta opcja może:
być bezpiecznie używany tylko z komputerami jednordzeniowymi, jednowątkowymi -momit-lock-prefiks=tak
pominie wszystkie przedrostki blokady. -momit-lock-prefiks=Nie zakoduje prefiks zamka jak zwykle,
co jest ustawieniem domyślnym.

-mrelax-relokacje=Nie
-mrelax-relokacje=tak
Te opcje kontrolują, czy asembler powinien generować relaksujące relokacje,
R_386_GOT32X, w trybie 32-bitowym, lub R_X86_64_GOTPCRELX i R_X86_64_REX_GOTPCRELX, w
Tryb 64-bitowy. -mrelax-relokacje=tak wygeneruje relaksacyjne przeprowadzki.
-mrelax-relokacje=Nie nie będzie generować relokacji relaksacyjnych. Wartość domyślna to
kontrolowane przez opcję konfiguracji --enable-x86-relax-relocations.

-mevexrcig=rne
-mevexrcig=rd
-mevexrcig=ru
-mevexrcig=rz
Te opcje kontrolują sposób, w jaki asembler powinien kodować instrukcje EVEX tylko SAE.
-mevexrcig=rne zakoduje bity RC instrukcji EVEX za pomocą 00, co jest wartością domyślną.
-mevexrcig=rd, -mevexrcig=ru dzięki -mevexrcig=rz zakoduje instrukcje EVEX tylko SAE
z odpowiednio 01, 10 i 11 bitami RC.

-mamd64
-mintel64
Ta opcja określa, że ​​asembler powinien akceptować tylko AMD64 lub Intel64 ISA w
Tryb 64-bitowy. Domyślnie akceptuje się oba.

Następujące opcje są dostępne w konfiguracji zgodnej z procesorem Intel 80960.

-ACA | -ACA_A | -ACB | -ACC | -ZNANY JAKO | -AKB | -AKC | -AMC
Określ, który wariant architektury 960 jest celem.

-b Dodaj kod, aby zbierać statystyki dotyczące pobranych oddziałów.

-bez relaksu
Nie zmieniaj instrukcji porównania i rozgałęzienia dla długich przemieszczeń; błąd, jeśli
niezbędny.

Następujące opcje są dostępne, gdy jest skonfigurowany dla serii Ubicom IP2K.

-mip2022ext
Określa, że ​​dozwolone są rozszerzone instrukcje IP2022.

-mip2022
Przywraca domyślne zachowanie, które ogranicza dozwolone instrukcje tylko do
podstawowe IP2022.

Następujące opcje są dostępne, gdy jest skonfigurowany dla Renesas M32C i M16C
procesorów.

-m32c
Złóż instrukcje M32C.

-m16c
Złóż instrukcje M16C (domyślne).

-zrelaksować się
Włącz obsługę relaksacji czasu łącza.

-h-tick-hex
Obsługuje stałe szesnastkowe stylu H'00 oprócz stylu 0x00.

Następujące opcje są dostępne, gdy jest skonfigurowany dla Renesas M32R (dawniej
Mitsubishi M32R).

--m32rx
Określ, który procesor z rodziny M32R jest celem. Domyślnie jest to
M32R, ale ta opcja zmienia go na M32RX.

--ostrzegaj-wyraźne-równoległe-konflikty or --Wp
Twórz komunikaty ostrzegawcze w przypadku napotkania wątpliwych konstrukcji równoległych.

--no-warn-explicit-parallel-conflicts or --Wnp
Nie wyświetlaj komunikatów ostrzegawczych w przypadku napotkania wątpliwych konstrukcji równoległych.

Następujące opcje są dostępne w konfiguracji zgodnej z serią Motorola 68000.

-l Skróć odniesienia do niezdefiniowanych symboli, do jednego słowa zamiast dwóch.

-m68000 | -m68008 | -m68010 | -m68020 | -m68030
| -m68040 | -m68060 | -m68302 | -m68331 | -m68332
| -m68333 | -m68340 | -mcpu32 | -m5200
Określ, jaki procesor z rodziny 68000 jest celem. Domyślnie jest to
68020, ale można to zmienić w czasie konfiguracji.

-m68881 | -m68882 | -mno-68881 | -mno-68882
Maszyna docelowa ma (lub nie ma) koprocesora zmiennoprzecinkowego. Domyślny
jest założenie koprocesora dla 68020, 68030 i cpu32. Chociaż podstawowe 68000 to
nie jest kompatybilny z 68881, można określić kombinację tych dwóch, ponieważ jest
możliwość wykonania emulacji instrukcji koprocesora z procesorem głównym.

-m68851 | -mno-68851
Maszyna docelowa ma (lub nie ma) koprocesor jednostki zarządzania pamięcią. ten
domyślnie przyjmuje się MMU dla 68020 i wyższych.

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora Altera Nios II.

-sekcja-relaks
Zastąp zidentyfikowane gałęzie poza zakresem sekwencjami „jmp” odnoszącymi się do komputera, gdy
możliwy. Wygenerowane sekwencje kodu nadają się do użycia w niezależnych od pozycji
kodu, ale istnieje praktyczne ograniczenie rozszerzonego zakresu gałęzi ze względu na
długość sekwencji. Ta opcja jest domyślna.

-relaks-wszystko
Zastąp instrukcje rozgałęzienia, których nie można określić, aby były w zakresie i wszystkie instrukcje wywołania
z sekwencjami "jmp" i "callr" (odpowiednio). Ta opcja generuje bezwzględne
relokacje względem symboli docelowych i nie są odpowiednie dla niezależnych od pozycji
kod.

-bez relaksu
Nie zastępuj żadnych oddziałów ani połączeń.

-EB Generuj wyjście big-endian.

-EL Generuj wyjście little-endian. To jest ustawienie domyślne.

-marzec=architektura
Ta opcja określa architekturę docelową. Asembler wyświetla komunikat o błędzie
jeśli podjęta zostanie próba złożenia instrukcji, która nie zostanie wykonana na celu
architektura. Rozpoznawane są następujące nazwy architektury: „r1”, „r2”. ten
domyślnie "r1".

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora Meta.

"-mcpu=metac11"
Wygeneruj kod dla Meta 1.1.

"-mcpu=metac12"
Wygeneruj kod dla Meta 1.2.

"-mcpu=metac21"
Wygeneruj kod dla Meta 2.1.

"-mfpu=metac21"
Zezwól kodowi na używanie sprzętu FPU w Meta 2.1.

Zobacz strony informacyjne, aby uzyskać dokumentację opcji specyficznych dla MMIX.

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora NDS32.

"-O1"
Optymalizacja pod kątem wydajności.

"-O"
Optymalizuj pod kątem przestrzeni.

„-EL”
Produkuj mało danych wyjściowych endian.

"-EB"
Produkuj mało danych wyjściowych endian.

„-mpic”
Wygeneruj PIC.

„-mno-fp-jako-gp-relaks”
Pomiń relaksację fp-as-gp dla tego pliku.

"-mb2bb-relaks"
Optymalizacja oddziałów back-to-back.

„-mno-wszystko-relaks”
Pomiń wszelkie relaksacje dla tego pliku.

"-marzec= "
Montaż dla architektury którym może być v3, v3j, v3m, v3f, v3s, v2, v2j,
v2f, v2s.

"-mbaza= "
Złóż do linii bazowej co może być v2, v3, v3m.

"-mfpu-freg=FREG”
Określ konfigurację FPU.

"0 8 rejestrów SP / 4 DP"
"1 16 rejestrów SP / 8 DP"
"2 32 rejestrów SP / 16 DP"
"3 32 rejestrów SP / 32 DP"
"-mabi=abi”
Określ wersję abi może być v1, v2, v2fp, v2fpp.

„-m[nie-]mac”
Włącz/wyłącz obsługę instrukcji mnożenia.

„-m[nie-]div”
Włącz/wyłącz obsługę instrukcji dzielenia.

"-m[nie-]16-bitowy-rozszerzenie"
Włącz/wyłącz rozszerzenie 16-bitowe

„-m[no-]dx-regs”
Włącz/wyłącz rejestry d0/d1

„-m[no-]perf-ext”
Włącz/wyłącz rozszerzenie wydajności

„-m[nie-]perf2-dod”
Włącz/wyłącz rozszerzenie wydajności 2

"-m[no-]string-ext"
Włącz/wyłącz rozszerzenie ciągu

„-m[no-]zmniejszone-regs”
Włącz/wyłącz opcję konfiguracji zredukowanego rejestru (GPR16)

„-m[no-]audio-isa-ext”
Włącz/wyłącz rozszerzenie AUDIO ISA

„-m[nie-]fpu-sp-dod”
Włącz/wyłącz rozszerzenie FPU SP

„-m[nie-]fpu-dp-dod”
Włącz/wyłącz rozszerzenie FPU DP

„-m[nie-]fpu-fma”
Włącz/wyłącz instrukcje FPU FPU FPU FPU-multiply-add

„-centrum-wewnętrzne”
Włącz obsługę wszystkich rozszerzeń i instrukcji

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora PowerPC.

.A32
Generuj ELF32 lub XCOFF32.

.A64
Generuj ELF64 lub XCOFF64.

-K PIC
Ustaw EF_PPC_RELOCATABLE_LIB we flagach ELF.

-mpwrx | -mpwr2
Wygeneruj kod dla POWER/2 (RIOS2).

-mpwr
Wygeneruj kod dla POWER (RIOS1)

-m601
Wygeneruj kod dla PowerPC 601.

-mppc, -mppc32, -m603, -m604
Wygeneruj kod dla PowerPC 603/604.

-m403, -m405
Wygeneruj kod dla PowerPC 403/405.

-m440
Wygeneruj kod dla PowerPC 440. BookE i kilka instrukcji 405.

-m464
Wygeneruj kod dla PowerPC 464.

-m476
Wygeneruj kod dla PowerPC 476.

-m7400, -m7410, -m7450, -m7455
Wygeneruj kod dla PowerPC 7400/7410/7450/7455.

-m750cl
Wygeneruj kod dla PowerPC 750CL.

-m821, -m850, -m860
Wygeneruj kod dla PowerPC 821/850/860.

-mppc64, -m620
Wygeneruj kod dla PowerPC 620/625/630.

-ja500, -ja500x2
Wygeneruj kod dla kompleksu rdzeniowego Motorola e500.

-ja500mc
Wygeneruj kod dla kompleksu rdzenia Freescale e500mc.

-ja500mc64
Wygeneruj kod dla kompleksu rdzenia Freescale e500mc64.

-ja5500
Wygeneruj kod dla kompleksu rdzenia Freescale e5500.

-ja6500
Wygeneruj kod dla kompleksu rdzenia Freescale e6500.

-mspe
Wygeneruj kod instrukcji Motorola SPE.

-mtytan
Wygeneruj kod dla kompleksu rdzenia AppliedMicro Titan.

-mppc64bridge
Wygeneruj kod dla PowerPC 64, w tym insns mostu.

-mbooke
Wygeneruj kod dla 32-bitowego BookE.

-ma2
Generuj kod dla architektury A2.

-ja300
Wygeneruj kod dla rodziny PowerPC e300.

-maltivec
Generuj kod dla procesorów za pomocą instrukcji AltiVec.

-mvle
Wygeneruj kod dla instrukcji Freescale PowerPC VLE.

-mvsx
Generuj kod dla procesorów za pomocą instrukcji Vector-Scalar (VSX).

-mhtm
Generuj kod dla procesorów za pomocą instrukcji sprzętowej pamięci transakcyjnej.

-moc4, -mpwr4
Wygeneruj kod dla architektury Power4.

-moc5, -mpwr5, -mpwr5x
Wygeneruj kod dla architektury Power5.

-moc6, -mpwr6
Wygeneruj kod dla architektury Power6.

-moc7, -mpwr7
Wygeneruj kod dla architektury Power7.

-moc8, -mpwr8
Wygeneruj kod dla architektury Power8.

-moc9, -mpwr9
Wygeneruj kod dla architektury Power9.

-mcell
-mcell
Wygeneruj kod dla architektury Cell Broadband Engine.

-mcom
Wygeneruj kod Wspólne instrukcje dotyczące zasilania/PowerPC.

-wiele
Generuj kod dla dowolnej architektury (PWR/PWRX/PPC).

-mregnames
Zezwalaj na symboliczne nazwy dla rejestrów.

-mno-regnames
Nie zezwalaj na symboliczne nazwy rejestrów.

-mprzeprowadzka
Wsparcie dla opcji -mrelocatable GCC.

-mrelocable-lib
Wsparcie dla opcji GCC -mrelocatable-lib.

-członek
Ustaw bit PPC_EMB we flagach ELF.

-mały, -mlittle-endian, Im
Wygeneruj kod dla małej maszyny endian.

-duży, -mbig-endian, -być
Wygeneruj kod dla maszyny big endian.

-msolaris
Wygeneruj kod dla Solarisa.

-mno-solaris
Nie generuj kodu dla Solarisa.

-nops=liczyć
Jeśli dyrektywa wyrównania wstawia więcej niż liczyć nops, na początek postaw gałąź
pominąć wykonanie nopsów.

Zobacz strony informacyjne, aby uzyskać dokumentację opcji specyficznych dla RX.

Następujące opcje są dostępne w konfiguracji zgodnej z rodziną procesorów s390.

-m31
-m64
Wybierz rozmiar słowa, 31/32 bity lub 64 bity.

-mesa
-mzarch
Wybierz tryb architektury, Enterprise System Architecture (esa) lub
Tryb z/Architektura (zarch).

-marzec=edytor
Określ, który wariant procesora s390 jest celem, g6, g6, z900, z990, z9-109, z9-ec,
z10, z196, zEC12lub z13.

-mregnames
-mno-regnames
Zezwalaj lub nie zezwalaj na nazwy symboliczne dla rejestrów.

-mwarn-areg-zero
Ostrzegaj, gdy podano operand dla rejestru bazowego lub indeksowego, ale
ocenia do zera.

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora TMS320C6000.

-marzec=łuk
Włącz (tylko) instrukcje z architektury łuk. Domyślnie wszystkie instrukcje są
dozwolony.

Następujące wartości łuk akceptowane są: „c62x”, „c64x”, „c64x+”, „c67x”, „c67x+”,
„c674x”.

-mdsbt
-mno-dsbt
Pandemia -mdsbt opcja powoduje, że asembler generuje atrybut "Tag_ABI_DSBT" z
wartość 1, co oznacza, że ​​kod korzysta z adresowania DSBT. ten -mno-dsbt opcja,
wartość domyślna powoduje, że tag ma wartość 0, co oznacza, że ​​kod nie
użyj adresowania DSBT. Konsolidator wygeneruje ostrzeżenie, jeśli obiekty innego typu
(DSBT i inne niż DSBT) są ze sobą połączone.

-mpid=nie
-mpid=blisko
-mpid=daleko
Pandemia -mpid= opcja powoduje, że asembler generuje atrybut „Tag_ABI_PID” z
wartość wskazująca formę adresowania danych stosowaną przez kod. -mpid=nie, domyślny,
wskazuje zależne od pozycji adresowanie danych, -mpid=blisko wskazuje pozycję-
niezależne adresowanie z dostępami GOT przy użyciu adresowania bliskiego DP, oraz -mpid=daleko
wskazuje adresowanie niezależne od pozycji z dostępami GOT przy użyciu adresowania dalekiego DP.
Konsolidator wygeneruje ostrzeżenie, jeśli obiekty zbudowane z różnymi ustawieniami tej opcji
są ze sobą połączone.

-mpic
-mno-pic
Pandemia -mpic opcja powoduje, że asembler generuje atrybut „Tag_ABI_PIC” z
wartość 1, oznaczająca, że ​​kod korzysta z niezależnego od pozycji adresowania kodu,
Opcja „-mno-pic”, domyślna, powoduje, że tag ma wartość 0, co wskazuje:
adresowanie kodowe zależne od pozycji. Konsolidator wyemituje ostrzeżenie, jeśli obiekty z
różne typy (zależny od pozycji i niezależny od pozycji) są ze sobą połączone.

-mbig-endian
-mlittle-endian
Wygeneruj kod dla określonej endianness. Wartość domyślna to little-endian.

Poniższe opcje są dostępne, gdy jest skonfigurowany dla procesora TILE-Gx.

-m32 | -m64
Wybierz rozmiar słowa, 32 bity lub 64 bity.

-EB | -EL
Wybierz endianness, albo big-endian (-EB) albo little-endian (-EL).

Poniższa opcja jest dostępna, gdy jest skonfigurowana dla procesora Visium.

-mtune=łuk
Ta opcja określa architekturę docelową. Jeśli podjęto próbę złożenia an
instrukcja, która nie zostanie wykonana na docelowej architekturze, wyda asembler
komunikat o błędzie.

Rozpoznawane są następujące nazwy: „mcm24” „mcm” „gr5” „gr6”

Następujące opcje są dostępne, gdy jest skonfigurowany dla procesora Xtensa.

--tekst-sekcji-literałów | --no-text-section-literals
Kontroluj traktowanie dosłownych pul. Wartość domyślna to --no-text-section-literals,
co umieszcza literały w oddzielnych sekcjach w pliku wyjściowym. Pozwala to na
pula literalna do umieszczenia w pamięci RAM/ROM danych. Z --tekst-sekcji-literałówThe
literały są przeplatane w sekcji tekstu, aby zachować je tak blisko, jak
możliwe do ich referencji. Może to być konieczne w przypadku dużych plików zespołów, gdzie
w przeciwnym razie literały byłyby poza zakresem instrukcji „L32R” w tekście
Sekcja. Literały są pogrupowane w pule zgodnie z dyrektywami „.literal_position” lub
poprzedzające instrukcje „WPROWADZENIE”. Te opcje mają wpływ tylko na literały, do których odwołuje się PC-
odpowiednie instrukcje „L32R”; literały dla instrukcji trybu absolutnego „L32R” są
obsługiwane oddzielnie.

--auto-litpools | --no-auto-litpools
Kontroluj traktowanie dosłownych pul. Wartość domyślna to --no-auto-litpools, która w
nieobecność --tekst-sekcji-literałów umieszcza literały w oddzielnych sekcjach w
plik wyjściowy. Pozwala to na umieszczenie puli literalnej w pamięci RAM/ROM danych. Z
--auto-litpools, literały są przeplatane w sekcji tekstu, aby zachować
je jak najbliżej ich referencji, wyraźne dyrektywy ".literal_position"
nie są wymagane. Może to być konieczne w przypadku bardzo dużych funkcji, gdzie pojedyncze
pula literałów na początku funkcji może nie być osiągalna przez „L32R”
instrukcje na końcu. Te opcje mają wpływ tylko na literały, do których odwołuje się PC-
odpowiednie instrukcje „L32R”; literały dla instrukcji trybu absolutnego „L32R” są
obsługiwane oddzielnie. W połączeniu z --tekst-sekcji-literałów, --auto-litpools
ma pierwszeństwo.

--dosłownie-absolutne | --brak-absolutnych-literów
Wskaż asemblerowi, czy instrukcje „L32R” używają wartości bezwzględnych, czy odnoszących się do komputera PC
adresowanie. Jeśli procesor zawiera opcję adresowania bezwzględnego, wartością domyślną jest
używać bezwzględnych relokacji „L32R”. W przeciwnym razie tylko odpowiedni dla PC "L32R"
można skorzystać z relokacji.

--wyrównaj do celu | --no-target-align
Włącz lub wyłącz automatyczne wyrównanie, aby zmniejszyć kary dla oddziałów pewnym kosztem w
rozmiar kodu. Ta optymalizacja jest domyślnie włączona. Zauważ, że asembler będzie
zawsze wyrównuj instrukcje, takie jak „LOOP”, które mają stałe wymagania dotyczące wyrównania.

--długie rozmowy | --brak długich rozmów
Włącz lub wyłącz transformację instrukcji połączeń, aby zezwolić na połączenia w większym
zakres adresów. Ta opcja powinna być używana, gdy cele wywołania mogą potencjalnie być
poza zakresem. Może to obniżyć zarówno rozmiar kodu, jak i wydajność, ale linker może:
generalnie optymalizuj niepotrzebne obciążenie, gdy połączenie kończy się w zasięgu.
Wartość domyślna to --brak długich rozmów.

--przekształcać | --bez transformacji
Włącz lub wyłącz wszystkie przekształcenia asemblera instrukcji Xtensa, w tym obie
relaksacja i optymalizacja. Wartość domyślna to --przekształcać; --bez transformacji powinien tylko
być używane w rzadkich przypadkach, gdy instrukcje muszą być dokładnie takie, jak określono w
źródło zespołu. Za pomocą --bez transformacji powoduje, że argumenty instrukcji spoza zakresu są
błędy.

--zmień nazwę-sekcji stara nazwa=nowe imie
Zmień nazwę pliku stara nazwa sekcja do nowe imie. Ta opcja może być używana wielokrotnie, aby:
zmienić nazwę wielu sekcji.

--trampoliny | --brak-trampoliny
Włącz lub wyłącz transformację instrukcji skoku, aby umożliwić skoki przez większą
zakres adresów. Ta opcja powinna być używana, gdy cele skoku mogą być potencjalnie:
poza zakresem. W przypadku braku takich skoków opcja ta nie wpływa na rozmiar kodu lub
wydajność. Wartość domyślna to --trampoliny.

Poniższe opcje są dostępne w konfiguracji zgodnej z procesorem z rodziny Z80.

-z80
Montaż do procesora Z80.

-r800
Montaż do procesora R800.

-ignoruj-nieudokumentowane-instrukcje
-Wnud
Zbierz nieudokumentowane instrukcje Z80, które działają również na R800 bez ostrzeżenia.

-ignoruj-nieprzenośne-instrukcje
-Wnup
Złóż wszystkie nieudokumentowane instrukcje Z80 bez ostrzeżenia.

-ostrzegaj-nieudokumentowane-instrukcje
-Wud
Wydaj ostrzeżenie dla nieudokumentowanych instrukcji Z80, które działają również na R800.

-ostrzegaj-nieprzenośne-instrukcje
-Wup
Wydaj ostrzeżenie dla nieudokumentowanych instrukcji Z80, które nie działają na R800.

-zabroń-nieudokumentowanych-instrukcji
-Fud
Traktuj wszystkie nieudokumentowane instrukcje jako błędy.

-zabroń-nieprzenośnych-instrukcji
-Fup
Traktuj nieudokumentowane instrukcje Z80, które nie działają na R800, jako błędy.

Używaj aarch64-linux-gnu-as online za pomocą usług onworks.net


Ad


Ad

Najnowsze programy online dla systemów Linux i Windows