汇编语言版本的HelloWorld

  1. 云栖社区>
  2. 博客>
  3. 正文

汇编语言版本的HelloWorld

megachen 2018-09-24 15:24:00 浏览568
展开阅读全文

平台

  • macOS

工具

  • nasm
  • clang

文件

  • main.asm
extern _printf ; 这里调用系统的一个系统调用函数, _printf, 使用extern告诉链接器该label在其他文件中有定义, _printf只接受一个string的地址, 和C语言层面上的printf是一样的

section .data
    msg_str: "Hello, World!!!", 0xa0 ; 0xa0就是C语言中的'\0'字符串结束符

section .text:
    global _main
    _main:
        push ebp
        mov ebp, esp   
        mov rsi, msg_str
        call _printf
        leave
        ret

编译与链接

  • nasm -f macho64 main.asm
  • clang -o main main.o

网友评论

登录后评论
0/500
评论