Как установить Ассемблер GNU

Я пытаюсь записать загрузчик, таким образом, мне нужен Ассемблер GNU. Я погуглил его, но не нашел полезного материала. Как я могу установить Ассемблер GNU (и не Компилятор GNU)?

1
задан 9 February 2017 в 21:04

2 ответа

GNU ассемблер, AKA as, по умолчанию устанавливается в Ubuntu. Он находится в упаковке binutils.

2
ответ дан 7 December 2019 в 13:36

Сборка из источника и использования это

#!/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 в восходящем направлении.

TODO: как настроить as определенные опции? Мы использовали ./configure от binutils-gdb верхний уровень, но это содержит опции из нескольких проектов такой как gdb Я верю, и нет as определенные?

Протестированный на Ubuntu 18.04.

0
ответ дан 7 December 2019 в 13:36

Другие вопросы по тегам:

Похожие вопросы: