web-dev-qa-db-fra.com

Comment installer GNU Assembler

J'essaie d'écrire un chargeur de démarrage, donc j'ai besoin de GNU Assembler. Je l'ai googlé mais je n'ai trouvé aucun matériel utile. Comment puis-je installer GNU Assembler (et non GNU Compiler)?

1
user3699039

L'assembleur GNU, AKA as, est installé par défaut sur Ubuntu. C'est dans le package binutils.

2
muru

Construire à partir des sources et l'utiliser

#!/usr/bin/env bash
set -eux

# Build.
Sudo apt-get build-dep binutils
git clone git://sourceware.org/git/binutils-gdb.git
cd binutils-gdb
git checkout binutils-2_31
./configure --target x86_64-elf --prefix "$(pwd)/install"
make -j `nproc`
make install

# Test it out.
cat <<'EOF' > hello.S
.data
    s:
        .ascii "hello world\n"
        len = . - s
.text
    .global _start
    _start:
        mov $4, %eax
        mov $1, %ebx
        mov $s, %ecx
        mov $len, %edx
        int $0x80
        mov $1, %eax
        mov $0, %ebx
        int $0x80
EOF
./install/bin/x86_64-elf-as -o hello.o hello.S
./install/bin/x86_64-elf-ld -o hello hello.o
./hello

GitHub en amont .

TODO: comment configurer as des options spécifiques? Nous avons utilisé le ./configure du binutils-gdb niveau supérieur, mais il contient des options provenant de plusieurs projets tels que gdb je crois, et non as spécifiques?

Testé sur Ubuntu 18.04.