小编Ami*_*r H的帖子

如何使用汇编制作小二进制文件?

我正在为我的某个项目编写一些汇编代码,我看到了一些有趣的东西。链接时二进制文件的大小是如此之大。所以我进行了测试和测试,即使使用尽可能少的代码行,输出 Elf 二进制文件也是如此之大。例如:

.section .text
.global _start
_start:
    movl $1,%eax
    movl $0,%ebx
    int $0x80
Run Code Online (Sandbox Code Playgroud)

组装和链接以上代码后,结果二进制文件超过 4kb!有趣的是,大多数二进制文件都填充了零。
我尝试了很多事情来找出没有成功的原因。
有人可以向我解释这里有什么问题吗?

我只是组装和链接文件:

.section .text
.global _start
_start:
    movl $1,%eax
    movl $0,%ebx
    int $0x80
Run Code Online (Sandbox Code Playgroud)

推荐任何形式的资源以供进一步阅读会很好。

你可能猜到了,我使用 64 位 GNU/Linux

谢谢。

assembly linker elf ld binutils

5
推荐指数
1
解决办法
183
查看次数

标签 统计

assembly ×1

binutils ×1

elf ×1

ld ×1

linker ×1