Uživatelské nástroje

Nástroje pro tento web


gas

GAS (GNU Assembler)

GAS (často volaný příkazem as) je multiplatformní nástroj, který podporuje desítky různých architektur procesorů (x86, ARM, MIPS, RISC-V atd.). Jeho nejvýraznějším rysem je tradiční používání AT&T syntaxe, která se výrazně liší od syntaxe Intel používané ve Windows.

1. AT&T vs. Intel Syntaxe

Pro začátečníky může být GAS matoucí, protože pravidla zápisu jsou v AT&T syntaxi „obráceně“ oproti standardu Intel:

Vlastnost AT&T (GAS výchozí) Intel (NASM/MASM)
Pořadí operandů Zdroj, Cíl (mov %eax, %ebx) Cíl, Zdroj (mov ebx, eax)
Registry Musí mít předponu % (%eax) Bez předpony (eax)
Konstanty

3. Klíčové vlastnosti

  • Multiplatformnost: Díky knihovně BFD (Binary File Descriptor) dokáže generovat kód pro nepřeberné množství platforem.
  • Podpora maker: Umožňuje definovat složité opakující se bloky kódu.
  • Integrace s C: Je navržen tak, aby hladce spolupracoval s výstupem z kompilátoru jazyka C, což z něj činí klíčový nástroj pro vývoj jader (kernelů).

4. Použití v praxi

GAS je de facto standardem pro psaní nízkoúrovňových částí v Linuxu. Pokud například zkoumáte zdrojové kódy jádra Linuxu a nar

gas.txt · Poslední úprava: autor: admin