as(1): Skillnad mellan sidversioner

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök
(Skapade sidan med '= as = '''as''' är GNU:s portabla assembler. == Namn == '''as''' — GNU:s portabla assembler == Synopsis == <pre> as [-a[cdghilns][=fil]] [--alternate] [--compress-debug-sections] [--nocompress-debug-sections] [-D] [--dump-config] [--debug-prefix-map gammal=ny] [--defsym symbol=värde] [--elf-stt-common=[no|yes]] [--emulation=namn] [-f] [-g] [--gstabs] [--gstabs+] [--gdwarf-<N>] [--gdwarf-sections] [--gdwarf-cie-version=VERSION]...')
 
 
Rad 448: Rad 448:


Om du upptäcker renderingsproblem i denna HTML-version av sidan, eller tror att det finns en bättre eller mer uppdaterad källa för sidan, eller har rättelser eller förbättringar av informationen i denna COLOPHON (som ''inte'' är en del av den ursprungliga manualsidan), skicka e-post till <code>man-pages@man7.org</code>.
Om du upptäcker renderingsproblem i denna HTML-version av sidan, eller tror att det finns en bättre eller mer uppdaterad källa för sidan, eller har rättelser eller förbättringar av informationen i denna COLOPHON (som ''inte'' är en del av den ursprungliga manualsidan), skicka e-post till <code>man-pages@man7.org</code>.
= Sidslut =
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/as.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
<BR><BR>Tack till [https://dataservice.pcbutiken.se/ Datorservice] som har  sponsrat [https://www.linux.se Linux.se] med webbhotell.
[[Kategori:Linuxmanual grupp 1]]
[[Kategori:Linuxmanual]]

Nuvarande version från 26 april 2026 kl. 06.11

as

as är GNU:s portabla assembler.

Namn

as — GNU:s portabla assembler

Synopsis

as [-a[cdghilns][=fil]]
   [--alternate]
   [--compress-debug-sections] [--nocompress-debug-sections]
   [-D]
   [--dump-config]
   [--debug-prefix-map gammal=ny]
   [--defsym symbol=värde]
   [--elf-stt-common=[no|yes]]
   [--emulation=namn]
   [-f]
   [-g] [--gstabs] [--gstabs+]
   [--gdwarf-<N>] [--gdwarf-sections]
   [--gdwarf-cie-version=VERSION]
   [--generate-missing-build-notes=[no|yes]]
   [--gsframe]
   [--hash-size=N]
   [--help] [--target-help]
   [--info] [--no-info]
   [-I katalog]
   [-J]
   [-K]
   [--keep-locals]
   [-L]
   [--listing-lhs-width=NUM]
   [--listing-lhs-width2=NUM]
   [--listing-rhs-width=NUM]
   [--listing-cont-lines=NUM]
   [--multibyte-handling=[allow|warn|warn-sym-only]]
   [--no-pad-sections]
   [-o objektfil] [-R]
   [--scfi=experimental]
   [--sectname-subst]
   [--size-check=[error|warning]]
   [--statistics]
   [-v] [-version] [--version]
   [-W] [--no-warn] [--warn] [--fatal-warnings]
   [-w] [-x]
   [-Z] [@FIL]
   [målspecifika-alternativ]
   [--|filer ...]

Mål

Manualsidan listar ett mycket stort antal målspecifika alternativ för många arkitekturer, bland annat:

  • AArch64
  • Alpha
  • ARC
  • ARM
  • Blackfin
  • BPF
  • CRIS
  • C-SKY
  • i386
  • IA-64
  • MIPS
  • PowerPC
  • RISC-V
  • s390
  • SPARC
  • Xtensa
  • Z80

De exakta flaggorna för varje mål finns i originalets avsnitt TARGET.

Beskrivning

GNU as är egentligen en hel familj assemblers. Om du använder (eller har använt) GNU assembler på en arkitektur bör du känna igen en mycket liknande miljö när du använder den på en annan arkitektur. Varje version har mycket gemensamt med de andra, inklusive objektfilformat, de flesta assemblerdirektiv (ofta kallade pseudo-ops) och assemblersyntax.

as är i första hand avsedd att assemblera utdata från GNU C-kompilatorn gcc för användning av länkaren ld. Trots det har man försökt få as att korrekt assemblera allt som andra assemblers för samma maskin skulle assemblera. Eventuella undantag dokumenteras uttryckligen. Det betyder dock inte att as alltid använder samma syntax som andra assemblers för samma arkitektur; till exempel finns flera inkompatibla varianter av 680x0-assemblersyntax.

Varje gång du kör as assemblerar den exakt ett källprogram. Källprogrammet består av en eller flera filer. (Standard in räknas också som en fil.)

Du anger en kommandorad med noll eller fler indatafilnamn. Indatafilerna läses från vänster till höger. Ett kommandoradsargument som inte har någon särskild betydelse tolkas som ett indatafilnamn.

Om du inte anger några filnamn försöker as läsa en indatafil från standard in, vilket normalt är terminalen. Du kan behöva skriva Ctrl-D för att tala om för as att det inte finns mer att assemblera.

Använd -- om du uttryckligen behöver namnge standard in-filen på kommandoraden.

Om källan är tom producerar as en liten, tom objektfil.

as kan skriva varningar och felmeddelanden till standard error (vanligtvis terminalen). Detta bör normalt inte ske när en kompilator kör as automatiskt. Varningar rapporterar ett antagande som gjorts för att as ska kunna fortsätta assemblera ett bristfälligt program; fel rapporterar ett allvarligt problem som stoppar assembleringen.

Om du anropar as via GNU C-kompilatorn kan du använda flaggan -Wa för att skicka argument vidare till assemblern. Argumenten måste skiljas åt med kommatecken. Exempel:

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

Detta skickar två alternativ till assemblern: -alh (skriv en listning till standard ut med både högnivåkällkod och assemblersource) och -L (behåll lokala symboler i symboltabellen).

Vanligtvis behöver du inte använda denna -Wa-mekanism, eftersom många kompilatorflaggor automatiskt skickas vidare till assemblern av kompilatorn. Du kan köra GNU-kompilatordrivrutinen med -v för att se exakt vilka flaggor som skickas till varje steg, inklusive assemblern.

Alternativ

Generella alternativ

@fil
Läs kommandoradsalternativ från fil. Alternativen infogas på platsen för det ursprungliga @fil-argumentet. Om filen inte finns eller inte kan läsas behandlas alternativet bokstavligt och tas inte bort.
Alternativen i filen separeras med blanktecken. Ett blanktecken kan inkluderas i ett alternativ genom att hela alternativet omges av enkla eller dubbla citationstecken. Alla tecken (inklusive backslash) kan inkluderas genom att föregå tecknet med backslash. Filen kan själv innehålla ytterligare @fil-alternativ; sådana behandlas rekursivt.
-a[cdghilmns]
Aktivera listningar på olika sätt:
  • -ac utelämna falska villkor
  • -ad utelämna felsökningsdirektiv
  • -ag inkludera allmän information, som version och angivna alternativ
  • -ah inkludera högnivåkällkod
  • -al inkludera assemblerkod
  • -ali inkludera assembler med ginsn
  • -am inkludera makroexpansioner
  • -an utelämna formsbehandling
  • -as inkludera symboler
  • =fil sätt namnet på listningsfilen
Alternativen kan kombineras. Exempelvis ger -aln assemblerlistning utan formsbehandling. Om =fil används måste det vara sist. Enbart -a motsvarar -ahls.
--alternate
Börja i alternativt makroläge.
--compress-debug-sections
Komprimera DWARF-debugsektioner med zlib enligt ELF ABI:s SHF_COMPRESSED. Resultatet kanske inte är kompatibelt med äldre länkare och objektverktyg. Om komprimering skulle göra en sektion större komprimeras den inte.
--compress-debug-sections=none|zlib|zlib-gnu|zlib-gabi|zstd
Styr hur DWARF-debugsektioner komprimeras.
  • none motsvarar --nocompress-debug-sections
  • zlib och zlib-gabi motsvarar --compress-debug-sections
  • zlib-gnu använder det föråldrade zlib-gnu-formatet och byter namn på debugsektioner så att de börjar med .zdebug
  • zstd använder zstd
Om komprimering gör sektionen större komprimeras den inte och byts inte heller namn.
--nocompress-debug-sections
Komprimera inte DWARF-debugsektioner.
-D
Aktivera felsökning i målspecifika backend-delar, om det stöds. Annars ignoreras alternativet. Det accepteras ändå för kompatibilitet med skript.
--debug-prefix-map gammal=ny
När filer assembleras i katalogen gammal, skriv felsökningsinformation som om de låg i ny.
--defsym symbol=värde
Definiera symbolen symbol till värde innan indatafilen assembleras. värde måste vara en heltalskonstant. Som i C betyder inledande 0x hexadecimalt och inledande 0 oktalt. Symbolens värde kan överskridas inuti en källfil med pseudo-op .set.
--dump-config
Visa hur assemblern är konfigurerad och avsluta.
--elf-stt-common=no|yes
Styr om ELF-assemblern ska generera gemensamma symboler med typen STT_COMMON.
--emulation=namn
Om assemblern stöder flera målkonfigurationer kan detta användas för att välja önskad variant.
-f
Fast — hoppa över förbehandling av blanktecken och kommentarer (antar att källan är kompilatorutdata).
-g, --gen-debug
Generera felsökningsinformation för varje assemblerrad med det debugformat som målet föredrar, för närvarande vanligtvis STABS, ECOFF eller DWARF2.
--gstabs
Generera stabs-felsökningsinformation för varje assemblerrad.
--gstabs+
Generera stabs-felsökningsinformation med GNU-tillägg som i praktiken främst gdb kan hantera.
--gdwarf-2, --gdwarf-3, --gdwarf-4, --gdwarf-5
Generera DWARF-felsökningsinformation för varje assemblerrad enligt angiven version. Huruvida extra information verkligen genereras beror på målet.
--gdwarf-sections
Skapa en serie .debug_line.foo-sektioner i stället för en enda .debug_line-sektion, där foo motsvarar namnet på respektive kodsektion.
--gdwarf-cie-version=VERSION
Styr vilken version av DWARF Common Information Entries (CIE) som produceras.
--generate-missing-build-notes=yes|no
Styr om ELF-assemblern ska generera GNU Build-attributnotiser när sådana saknas i källan.
--gsframe
Skapa sektionen .sframe från CFI-direktiv.
--hash-size=N
Ignoreras. Finns för kompatibilitet med andra assemblers.
--help
Skriv en sammanfattning av kommandoradsalternativ och avsluta.
--target-help
Skriv en sammanfattning av alla målspecifika alternativ och avsluta.
--info
Dämpa inte informationsmeddelanden.
--no-info
Dämpa informationsmeddelanden.
-I katalog
Lägg till katalogen katalog i sökvägen för .include-direktiv.
-J
Varna inte om signed overflow.
-K
Utfärda varningar när differenstabeller ändras för långa displacements.
-L, --keep-locals
Behåll lokala symboler i symboltabellen. Dessa börjar vanligtvis med .L på ELF-system eller L på traditionella a.out-system.
--listing-lhs-width=antal
Sätt maximal bredd i ord för datakolumnen i en assemblerlistning.
--listing-lhs-width2=antal
Sätt maximal bredd i ord för datakolumnen på fortsättningsrader.
--listing-rhs-width=antal
Sätt maximal bredd för en indatakällrad i en listning, i byte.
--listing-cont-lines=antal
Sätt maximalt antal rader som skrivs ut i en listning för en enskild indatarad till antal + 1.
--multibyte-handling=allow|warn|warn-sym-only
Styr hur assemblern hanterar multibyte-tecken i indatan.
  • allow tillåter dem utan klagomål
  • warn varnar för varje multibyte-tecken
  • warn-sym-only varnar bara när ett symbolnamn innehåller multibyte-tecken
--no-pad-sections
Sluta fylla ut slutet av utsektioner till sektionens alignment. Standard är att fylla ut, men det kan slösa minne på mål med begränsat utrymme.
-o objektfil
Namnge objektfilen som skapas till objektfil.
-R
Slå ihop datasektionen med textsektionen.
--reduce-memory-overheads
Ignoreras. Finns för kompatibilitet med verktyg som skickar samma alternativ till både assembler och länkare.
--scfi=experimental
Styr om assemblern ska syntetisera CFI för handskriven indata. Detta är experimentellt och avsett endast för System V AMD64 ABI.
--sectname-subst
Respektera substitutionssekvenser i sektionsnamn.
--size-check=error|warning
Utfärda fel eller varning för ogiltigt ELF-.size-direktiv.
--statistics
Skriv ut maximalt minnesutrymme (i byte) och total tid (i sekunder) som användes vid assembleringen.
--strip-local-absolute
Ta bort lokala absoluta symboler från den utgående symboltabellen.
-v, -version
Skriv ut as-versionen.
--version
Skriv ut as-versionen och avsluta.
-W, --no-warn
Dämpa varningsmeddelanden.
--warn
Dämpa inte varningar och behandla dem inte som fel.
--fatal-warnings
Behandla varningar som fel.
-w
Ignoreras.
-x
Ignoreras.
-Z
Generera en objektfil även efter fel.
-- eller filer
Standard in eller källfiler att assemblera.

Några viktiga målspecifika exempel

AArch64

-EB
Märk utdata som big-endian.
-EL
Märk utdata som little-endian.
-mabi=ABI
Ange vilken ABI källkoden använder. Kända värden är ilp32 och lp64. Standard är lp64.
-mcpu=processor[+tillägg...]
Ange målprocessor. Assemblern ger fel om en instruktion inte stöds av målet.
-march=arkitektur[+tillägg...]
Ange målarkitektur.

i386 / x86-64

--32, --x32, --64
Välj ordstorlek 32 eller 64 bitar.
-n
Inaktivera vissa nop-optimeringar för alignment.
--divide
Behandla / som ett vanligt tecken i stället för kommentarstecken på SVR4-liknande plattformar.
-march=CPU[+EXTENSION...]
Ange målprocessor och eventuella ISA-tillägg.
-mtune=CPU
Optimera schemaläggning för en viss CPU.
-msyntax=att|intel
Ange instruktionernas syntax.
-mmnemonic=att|intel
Ange vilken mnemonikstil som används för matchning av instruktioner.
-mnaked-reg
Ange att register inte kräver prefixet %.
-O0, -O, -O1, -O2, -Os
Optimera instruktionskodning för mindre kodstorlek.

ARM

-mcpu=processor[+tillägg...]
Ange ARM-processormodell.
-march=arkitektur[+tillägg...]
Ange ARM-arkitekturvariant.
-mfpu=format
Ange flyttalsarkitektur.
-mfloat-abi=abi
Ange vilken flyttals-ABI som används.
-mthumb
Aktivera endast Thumb-instruktioner.
-EB, -EL
Välj big-endian eller little-endian.

MIPS

-EB
Generera big-endian-utdata.
-EL
Generera little-endian-utdata.
-march=cpu
Generera kod för en viss MIPS-CPU.
-mtune=cpu
Schemalägg och optimera för en viss MIPS-CPU.
-mips16, -no-mips16
Slå på eller av MIPS16-läge.
-mmicromips, -mno-micromips
Slå på eller av microMIPS-läge.
-mabi=ABI
Ange ABI.

PowerPC

-a32
Generera ELF32 eller XCOFF32.
-a64
Generera ELF64 eller XCOFF64.
-mregnames
Tillåt symboliska namn för register.
-mno-regnames
Tillåt inte symboliska registernamn.
-mlittle, -mlittle-endian, -le
Generera little-endian-kod.
-mbig, -mbig-endian, -be
Generera big-endian-kod.

RISC-V

-fpic, -fPIC
Generera positionsoberoende kod.
-fno-pic
Generera inte positionsoberoende kod.
-march=ISA
Välj bas-ISA, till exempel rv32ima.
-mabi=ABI
Välj ABI, exempelvis ilp32 eller lp64, eventuellt med suffix för flyttalskonvention.
-mrelax
Utnyttja länkarlättnader för att minska antalet instruktioner som krävs för symboladresser.
-mno-relax
Gör inte sådana lättnader.
-mlittle-endian
Generera little-endian-kod.
-mbig-endian
Generera big-endian-kod.

Se även

  • gcc(1)
  • ld(1)
  • Info-sidorna för binutils och ld

Copyright

Copyright (c) 1991–2025 Free Software Foundation, Inc.

Tillstånd ges att kopiera, distribuera och/eller ändra detta dokument enligt villkoren i GNU Free Documentation License, version 1.3 eller senare, publicerad av Free Software Foundation; utan oföränderliga avsnitt, utan framsidestexter och utan baksidestexter. En kopia av licensen finns i avsnittet ”GNU Free Documentation License”.

Colophon

Denna sida är en del av projektet binutils (en samling verktyg för att arbeta med exekverbara binärfiler). Information om projektet finns på http://www.gnu.org/software/binutils/.

Om du har en felrapport för denna manualsida, se http://sourceware.org/bugzilla/enter_bug.cgi?product=binutils.

Denna sida hämtades från tar-arkivet binutils-with-gold-2.44.tar.gz från https://ftp.gnu.org/gnu/binutils/ den 2026-01-16.

Om du upptäcker renderingsproblem i denna HTML-version av sidan, eller tror att det finns en bättre eller mer uppdaterad källa för sidan, eller har rättelser eller förbättringar av informationen i denna COLOPHON (som inte är en del av den ursprungliga manualsidan), skicka e-post till man-pages@man7.org.

Sidslut

Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/as.1.html Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorservice som har sponsrat Linux.se med webbhotell.