首先,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!

最新文章

  1. gloolooer
  2. Ubuntu14.04下配置固定IP
  3. redis配置详解
  4. Google Maps API V3 之绘图库 信息窗口
  5. 115个Java面试题和答案——终极列表(下)
  6. Google正确搜索方法
  7. islands打炉石传说<DP>
  8. 微信小程序之----消息提示框toast
  9. C语言的scanf函数
  10. 2019.04.10打卡(HTML)
  11. 软件测试第一次试验JUnit
  12. How to convert mkv to mp4 lossless
  13. sql server 2000 个人版怎么在win7下安装
  14. vim粘贴缩进问题
  15. “Linux内核分析”第五周报告
  16. 架构师成长之路6.5 DNS服务器搭建(添加记录、负载均衡、DNS视图)
  17. centos在图形界面和命令行之间切换的快捷键是什么?
  18. MiZ702学习笔记11——如何使用vivado isim仿真
  19. WPF中查找控件的扩展类
  20. 如何在mysql中查询每个分组的前几名

热门文章

  1. 时间复杂度O()与KMP算法
  2. 使用GNVM工具高效切换node版本
  3. python使用高阶函数计算整数阶乘
  4. 关于anaconda中jupyter notebook错误
  5. EXT.net 图标靠右排列
  6. 记一次解决cmd中执行java提示"找不到或无法加载主类"的问题
  7. 软链接ln -s 总结
  8. PHP 实现多网站共享用户SESSION 数据解决方案
  9. 团队第六次 # scrum meeting
  10. Problem B: 故障电灯(light)