实现一个汇编的hello world程序,直接采用系统调用打印,没有用到C标准库所以不需要链接C标准库,没有用到C运行库所以也就没有了main函数,非常简洁。
#hello.s
.data
msg : .string "Hello, world!\n"
len = . - msg
.text
.global _start
_start:
movl $len, %edx //压入第3个参数字符串的长度
movl $msg, %ecx //压入第2个参数 字符串的首地址
movl $1, %ebx //压入1第一个参数 也就是标准输出
movl $4, %eax //4号功能调用 write
int $0x80
movl $0, %ebx //压入参数
movl $1, %eax //1号功能调用 exit
int $0x80

本文介绍如何使用汇编语言编写一个简单的Hello World程序,通过直接调用系统调用进行输出,不依赖C标准库和运行库,展示了汇编语言在底层操作中的应用。
247

被折叠的 条评论
为什么被折叠?



