详解如何在Mac上用汇编语言写HelloWorld

 更新时间:2020年01月14日 11:21:37   转载 作者:你的眼中有片海  
这篇文章主要介绍了详解如何在Mac上用汇编语言写HelloWorld,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

首先,Mac自带nasm,不过我们要先将其升级。

升级它的方法有很多种,因为我已经装好了homebrew,所以我直接在终端输入:

brew install nasm

这样就升级啦~

接下来,创建一个HelloWorld.asm文件!

msg: db "hello world!", 0x0a
len: equ $-msg
  
SECTION .text
global _main
  
kernel:
   syscall
   ret
 
_main:
   mov rax,0x2000004
   mov rdi,1
   mov rsi,msg
   mov rdx,len
   call kernel
  
   mov rax,0x2000001
   mov rdi,0
   call kernel

创建好后,保存在一个你心仪的文件夹~再次打开终端,输入

cd (你放置的文件夹名)

例如我输入的就是

cd /Users/mac/Desktop

点击回车,接下来输入

nasm -f macho64 -o HelloWorld.o HelloWorld.asm

这样你就会发现一个名叫HelloWorld.o的文件悄然建好了

再于终端输入

ld HelloWorld.o -o HelloWorld -macosx_version_min 10.13 -lSystem

回车,输入

./HelloWorld

你就会发现,hello world!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解汇编语言各种指令的解释与用法

    详解汇编语言各种指令的解释与用法

    这篇文章主要介绍了汇编语言各种指令的解释与用法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 使用汇编语言实现if else 循环函数调用的具体方法

    使用汇编语言实现if else 循环函数调用的具体方法

    这篇文章主要介绍了使用汇编语言实现if else 循环函数调用的具体方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 汇编实现的memcpy和memset的方法

    汇编实现的memcpy和memset的方法

    这篇文章主要介绍了汇编实现的memcpy和memset的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 详解如何在Mac上用汇编语言写HelloWorld

    详解如何在Mac上用汇编语言写HelloWorld

    这篇文章主要介绍了详解如何在Mac上用汇编语言写HelloWorld,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 汇编指令-状态寄存器、cmp、test、jz等指令详细说明

    汇编指令-状态寄存器、cmp、test、jz等指令详细说明

    这篇文章主要介绍了汇编指令-状态寄存器、cmp、test、jz等指令详细说明,需要的朋友可以参考下
    2020-01-01
  • 汇编实现冒泡排序的方法示例

    汇编实现冒泡排序的方法示例

    这篇文章主要介绍了汇编实现冒泡排序的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 汇编语言之寄存器(详细介绍)

    汇编语言之寄存器(详细介绍)

    这篇文章主要介绍了汇编语言之寄存器(详细介绍),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-01-01
  • GNU ARM汇编语法原理及操作解析

    GNU ARM汇编语法原理及操作解析

    这篇文章主要介绍了GNU ARM汇编语法原理及操作解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 汇编分析 Golang 循环(推荐)

    汇编分析 Golang 循环(推荐)

    循环是编程中很强大的一个概念,而且非常容易处理。这篇文章主要介绍了汇编分析 Golang 循环,需要的朋友可以参考下
    2020-02-02
  • 详解汇编语言 dup伪指令

    详解汇编语言 dup伪指令

    dup它有多种意义,包括Linux c 函数、C语言函数DUP、汇编指令、化学物质DUP。这篇文章主要介绍了汇编语言 dup伪指令的相关知识,需要的朋友可以参考下
    2020-01-01

最新评论