如何在MacOS上玩儿汇编?

来源:互联网 发布:淘宝二类医疗器械申请 编辑:程序博客网 时间:2024/06/01 16:47

在Mac上写汇编还是相当方便的。本文通过写一个Helloworld程序来入门。


首先,MacOS 自带nasm,只是版本有点老,编译不了64位程序,只要上官网下一个最新的,替换一下就行了。

有一点需要注意的是mac上gcc编译.o文件的默认入口是_main,而使用ld命令的时候默认的事start.


下面创建helloworld.asm文件:

SECTION .data   msg: db "hello world!", 0x0alen: equ $-msg  SECTION .textglobal _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


在终端运行以下语句


nasm -f macho64 -o helloworld.o helloworld.asmld -o helloworld -e _main helloworld.o./helloworld


显示hello world! 就是成功了!


原创粉丝点击