as

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

as(1) – Linux manualsida

NAMN

as – den portabla GNU-assemblatorn

SYNOPSIS

as [-a[cdghilns][=fil]]

  [--alternate]
  [--compress-debug-sections] [--nocompress-debug-sections]
  [-D]
  [--dump-config]
  [--debug-prefix-map gammal=ny]
  [--defsym sym=värde]
  [--elf-stt-common=[no|yes]]
  [--emulation=name]
  [-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]
  [-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 objfil] [-R]
  [--scfi=experimental]
  [--sectname-subst]
  [--size-check=[error|warning]]
  [--statistics]
  [-v] [-version] [--version]
  [-W] [--warn] [--fatal-warnings] [-w] [-x]
  [-Z] [@FIL]
  [target-alternativ ...]
  [--|filer ...]

BESKRIVNING

GNU as är egentligen en familj av assemblatorer. Om du har använt GNU-assemblatorn på en arkitektur, kommer du i stort sett att känna igen miljön för en annan arkitektur. De olika varianterna delar mycket gemensamt: objektfilformat, de flesta assemblerdirektiv (kallade pseudo-ops) och syntax.

as är främst avsedd att assembla utdata från GNU C-kompilatorn (gcc) för att sedan länkas av länken ld. Ändå är målet att as ska kunna assemblas det mesta som andra assemblatorer (på samma arkitektur) också kan, även om viss syntax kan skilja sig.

Varje gång du kör as assemblas exakt ett källprogram, som kan utgöras av en eller flera filer (inklusive standardinput). Du anger indatafiler på kommandoraden. Om inga filnamn anges läses standardinput.

as kan ge varnings- och felmeddelanden till standard error. Koden fortsätter normalt vid varningar (där assemblatorn gissar och fortsätter), medan fel är allvarliga och stoppar assemblatorn.

När du använder as via gcc, kan du med -Wa, skicka vidare alternativ till as. T.ex.: gcc -c -g -O -Wa,-alh,-L fil.c

Här skickas alternativen -alh och -L till as.

Normalt behöver du inte -Wa, eftersom många kompilatorflaggor automatiskt vidarebefordras till assemblatorn.

Kommandoradsalternativ

Nedan listas några vanliga alternativ. Se manualsidan eller info-sidorna för en fullständig lista.

@FIL
Läs kommandoradsalternativ från en fil FIL. Dessa alternativ ersätter originalet @FIL. Om filen saknas eller inte kan läsas behandlas raden bokstavligt. Alternativ i filen kan separeras med blanksteg eller radslut, med möjlighet till citattecken och bakstreck för specialtecken. Möjligheten att nästla @-alternativ finns också.
-a[cdghilns][=fil]
Aktivera listings i olika nivåer. T.ex. -al (assembly), -ahls (assembly, high-level, symbolinfo) osv. -ac utesluter t.ex. "false conditionals", -ad slopar felsökningsdirektiv. =fil anger utdatafil för listor.
--alternate
Börja i "alternate macro mode".
--compress-debug-sections, --nocompress-debug-sections
Komprimera (eller ej) DWARF debug-sektioner i ELF-filer. zlib används, vissa äldre verktyg saknar stöd för detta.
-D
Aktivera felsökning i målspecifika backends om stöd finns. Annars ignoreras det.
--debug-prefix-map gammal=ny
Sökvägar i felsökningsinfo ersätts: förekomster av gammal byts mot ny.
--defsym sym=värde
Definiera symbolen sym till värde före assemblingsstart. Värdet är ett heltalskonstant (med eventuellt 0x-prefix för hex eller 0-ledande för oktal).
--dump-config
Visa hur denna version av as konfigurerats och avsluta.
--elf-stt-common=no/yes
Styr om typen STT_COMMON ska användas för "common symbols" i ELF.
--emulation=name
Om as stöder olika målkonstruktioner, välj vilken form.
-f
"fast" – hoppar över viss whitespace- och kommentarsbearbetning.
-g, --gstabs, --gstabs+, --gdwarf-<N>, --gdwarf-cie-version=VERSION
Generera felsökningsinformation i respektive format (STABS, STABS+, DWARF2/3/4/5...). Varierar per målsystem.
--gdwarf-sections
Namn på debug_line-sektioner följer koden, t.ex. .debug_line.text.func.
--generate-missing-build-notes=[no|yes]
Styr om GNU Build-attributes ska skapas om de saknas. Beror på konfiguration.
--gsframe
Skapar .sframe sektion utifrån CFI-anvisningar.
--hash-size=N
Ignoreras (kompatibilitetsskäl).
--help, --target-help
Visar kortfattad hjälp eller målspecifik hjälp.
-I dir
Sökväg för .include-direktiv.
-J
Varna ej för "signed overflow".
-K
Varna när differenstabeller ändras för långa förskjutningar.
-L, --keep-locals
Behåll lokala symboler (t.ex. .L...).
--listing-lhs-width=NUM, --listing-lhs-width2=NUM, --listing-rhs-width=NUM, --listing-cont-lines=NUM
Styr bredd och formatering av listingutdata.
--multibyte-handling=allow/warn/warn-sym-only
Hur assemblatorn hanterar flertabyte-tecken.
--no-pad-sections
Undvik utfyllnad för anpassning (alignment) i slutet av sektioner.
-o fil
Namnge objektfilen.
-R
Vik ihop data-sektionen i text-sektionen.
--scfi=experimental
Experimentellt stöd för SCFI (synthesized CFI) i handskriven kod.
--sectname-subst
Tillåt substitutionssekvenser i sektionsnamn.
--size-check=error/warning
Hantering av ogiltiga ELF .size-direktiv.
--statistics
Skriv ut max använd minnesmängd och tid för sammanställningen.
-v, -version, --version
Visa as versionsinfo och avsluta.
-W, --no-warn
Undertryck varningar.
--fatal-warnings
Behandla varningar som fel.
--warn
Varna normalt.
-w, -x
Ignoreras (kompatibilitet).
-Z
Skapa ändå objektfil vid fel (ingen standardrekommendation).
--| filer ...
Indatafiler, eller -- för standard input om filnamn behövs uttryckligen.

Arkitekturspecifika alternativ

För de flesta arkitekturer finns en stor mängd extra alternativ för instruktioner, endianness, expansionsstöd osv. Se texten ovan för en mängd detaljer per arkitektur (AArch64, Alpha, ARC, ARM, Blackfin, x86, LoongArch m.fl.). Dessa styr t.ex. CPU-typ (ex -march=...), expansionsinstruktioner (+sse4) eller attribut (-EL, -EB).

SE ÄVEN

Se också Info-sidorna för binutils och ld.

COPYRIGHT

Copyright © 1991–2024 Free Software Foundation, Inc.

Tillstånd ges att kopiera, distribuera och/eller modifiera detta dokument enligt villkoren i GNU Free Documentation License version 1.3 eller senare, utan oföränderliga avsnitt och utan främre eller bakre omslagstexter. En kopia av licensen finns i avsnittet "GNU Free Documentation License".

KOLOFON

Denna sida är en del av projektet binutils (en uppsättning verktyg för arbete med körbara binärfiler). Mer info: http://www.gnu.org/software/binutils/. Buggrapporter för denna manualsida: http://sourceware.org/bugzilla/enter_bug.cgi?product=binutils. Sidan togs från arkivet binutils-2.42.tar.gz hämtad från https://ftp.gnu.org/gnu/binutils/ den 2024-06-14. Upptäcker du återgivningsproblem i denna HTML-version, eller vet en mer uppdaterad källa, eller har förbättringar för KOLOFON (ej del av originalmanualen), mejla man-pages@man7.org

binutils-2.42 2024-06-14 AS(1)

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 Datorhjälp som har sponsrat Linux.se med webbhotell.