欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

汇编语言版本的HelloWorld

程序员文章站 2024-02-01 18:57:34
...

汇编语言版本的HelloWorld

平台

  • 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
posted @ 2018-09-24 15:24 Andrew_Chan 阅读(...) 评论(...) 编辑 收藏