转自:http://myswirl.blog.163.com/blog/static/51318642201002562750929/
hello.asm:
section .text
global main ;必须为main
main:
mov eax,4 ; 4号调用
mov ebx,1 ; ebx送1表示输出
mov ecx,msg ; 字符串的首地址送入ecx
mov edx,14 ; 字符串的长度送入edx
int 80h ; 输出字串
mov eax,1 ; 1号调用
int 80h ; 结束
msg:
db "Hello world!",0ah,0dh
_____________________________
$ nasm -f elf64 hello.asm
$ gcc -o hello hello.o
$ ./hello
hello.asm:
section .text
global main ;必须为main
main:
mov eax,4 ; 4号调用
mov ebx,1 ; ebx送1表示输出
mov ecx,msg ; 字符串的首地址送入ecx
mov edx,14 ; 字符串的长度送入edx
int 80h ; 输出字串
mov eax,1 ; 1号调用
int 80h ; 结束
msg:
db "Hello world!",0ah,0dh
_____________________________
$ nasm -f elf64 hello.asm
$ gcc -o hello hello.o
$ ./hello
本文介绍了如何使用NASM将汇编代码编译为ELF64格式,并通过GCC将其链接成可执行文件,最终演示了如何运行编译后的程序。重点在于汇编语言的基本使用、编译流程以及执行结果分析。
262

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



