linux-assembly-tutorial-nasm
Linux汇编-笔记-NASM
打印Hello world
1 |
|
GNU的ld链接器默认入口符号是_start
并且要将其设置为全局符号,用其他符号在链接时,使用ld -e
指定。
这里没有用到寄存器,因为是直接通过系统内核将hello world打印出来,没有调用系统函数printf,其中,用到了四个寄存器传参,他们的赋值顺序可以颠倒。
Linux系统调用号:
编译链接方法
这里是采用nasm+intel语法写的,因此使用nasm编译,ld链接
因32位比较特殊,64位比较简单。这里以32位举例
编译: nasm -f elf32 xxx.asm
链接: ld -m elf_i386 xxx.o -o xxx.out
Reference
在 Linux 上用 x86-64 汇编语言写 Hello World 程序(上) | 郭帅的个人博客
linux-assembly-tutorial-nasm
http://tang895.github.io/2023/04/23/linux-assembly-tutorial-nasm/