如何从Mac上的.ASM制作.O

时间:2014-03-20 19:31:14

标签: macos assembly nasm

我有以下文件hello.asm:

section .text
global _start   ;must be declared for linker (ld)
_start:             ;tells linker entry point
mov edx,len     ;message length
mov ecx,msg     ;message to write
mov ebx,1       ;file descriptor (stdout)
mov eax,4       ;system call number (sys_write)
int 0x80        ;call kernel

mov eax,1       ;system call number (sys_exit)
int 0x80        ;call kernel

 section    .data
 msg db 'Hello, world!', 0xa  ;our dear string
 len equ $ - msg              ;length of our dear string

在mac上,如何将其转换为.o文件。在linux上我会做

 nasm -f elf64 -o hello.o hello.asm
 ld -o hello hello.o

然后可以用

调用它
 ./hello

我已经安装了Xcode和MacPorts,谢谢

1 个答案:

答案 0 :(得分:1)

使用:

nasm -o hello.o hello.asm

应该可以工作,即生成.o文件。通常在OS X上,您可以执行以下操作:

nasm -f macho -o hello.o hello.asm