;dm01.asm ;print 'hello world' section .data ;数据段声明 msg db "Hello, world!", 0xA ;要输出的字符串 len equ $ - msg ;字符串长度 section .text ;代码段声明 global _start ;指定入口函数 _start: ;在屏幕上显示一个字符串 mov edx, len ;参数三:字符串长度 mov ecx, msg ;参数二:要显示的字符串 mov ebx, 1 ;参数一:文件描述符(stdout) mov eax, 4 ;系统调用号(sys_write) int 0x80 ;调用内核功能 ;退出程序 mov ebx, 0 ;参数一:退出代码 mov eax, 1 ;系统调用号(sys_exit) int 0x80 ;调用内核功能
编译:
$ nasm -f elf64 -o dm01.o dm01.asm
(注意:如果是32位机,就把上面的64去掉)
链接:
$ ld -o dm01 dm01.o
运行及结果:
$ ./dm01
hello world