equiv -> .set
align -> .space
string -> .ascii (check the syntax ...)
global -> .globl (in x86-64.linux.ext.s)
as -arch x86_64 x86-64.linux.base.s
x86-64.linux.base.s:1599:32-bit absolute addressing is not supported for x86-64
mov $Nil, %rbx
?? leaq Nil(%rip),%rbx
Alex, compare hello.s:
.ascii "Hello, World\0"
movq %rsp, %rbp
subq $16, %rsp
movl %edi, -4(%rbp)
movq %rsi, -16(%rbp)
leaq LC0(%rip), %rdi
Otherwise, I think it might assemble.
Info from http://en.wikipedia.org/wiki/X86-64#Mac_OS_X
Mac OS X
Mac OS X v10.5 supports 64-bit GUI applications using Cocoa, Quartz,
OpenGL and X11 on 64-bit Intel-based machines, as well as on 64-bit
PowerPC machines. All non-GUI libraries and frameworks also
support 64-bit applications on those platforms. The kernel is 32-bit.
Mac OS X uses an extension of the Universal binary format to package
32- and 64-bit versions of application and library code into a single
file; the most appropriate version is automatically selected at load
Future: Mac OS X v10.6 Snow Leopard will be the first Apple OS to be
able to run on a 64-bit kernel. Initial reports indicate that Snow
Leopard has a "32-bit compatibility mode" to deal with applications
that depend on a 32-bit kernel.
Mac OS X v10.4.7 and higher versions of Mac OS X v10.4 run 64-bit
command-line tools using the POSIX and math libraries on 64-bit
Intel-based machines, just as all versions of Mac OS X v10.4 and
higher run them on 64-bit PowerPC machines. No other libraries or
frameworks work with 64-bit applications in Mac OS X v10.4.