I have no experience with 64-bit programming. Seems like needless overkill, unless you're programming database apps for the Human Genome Project, or so. In fact, it seems like "another nail in the coffin" of assembly language to me. So I'm curious why you think it's a better environment for assembly language?
This is for 64-bit Linux (thanks to Chuck Crayne!). Only one I've got. I suppose MS has got an example for 64-bit Windows (if they've got it working). Completely different ABI, I understand. Keith, you got anything for that? Or anybody?
Let us know how this works out for ya (especially if it doesn't!).
Best,
Frank
section .data
string1 db "Hello World!",10,0
section .text
global _start
_start:
; calculate the length of string
mov rdi, string1
mov rcx, -1
xor al,al
cld
repnz scasb
; place the length of the string in RDX
mov rdx, -2
sub rdx, rcx
; print the string using write() system call
mov rsi, string1
push 0x1
pop rax
mov rdi,rax
syscall
; exit from the application here
xor rdi,rdi
push 0x3c
pop rax
syscall