如何安装 GNU 汇编器

如何安装 GNU 汇编器

我正在尝试编写引导加载程序,因此我需要 GNU Assembler。我在 Google 上搜索过,但没有找到任何有用的资料。我该如何安装 GNU Assembler(而不是 GNU Compiler)?

答案1

GNU 汇编器,又名as,在 Ubuntu 上默认安装。它位于软件包中binutils

答案2

从源代码构建并使用它

#!/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 上测试。

相关内容