From 868c8f7fe3a7e8d35dda48f2b321a0828d0d91dc Mon Sep 17 00:00:00 2001 From: Shark Date: Mon, 19 Oct 2015 18:10:06 +0200 Subject: [PATCH] "Hello World!", x86-64 assembly for Linux --- a/assembler_nasm_linux64.asm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 a/assembler_nasm_linux64.asm diff --git a/a/assembler_nasm_linux64.asm b/a/assembler_nasm_linux64.asm new file mode 100644 index 00000000..94470ce8 --- /dev/null +++ b/a/assembler_nasm_linux64.asm @@ -0,0 +1,20 @@ +section .text + global _start ;must be declared for linker (ld) + +_start: ;tell linker entry point + + xor eax,eax ; eax:=0 + lea edx,[rax+len] ;message length + mov esi,msg ;message to write + lea edi,[rax+1];file descriptor (stdout) + mov al,1 ;system call number (sys_write) + syscall ;call kernel + +; xor eax, eax + mov al,60 ;system call number (sys_exit) + syscall ;call kernel + +section .data + +msg db 'Hello, world!',0xa ;our string +len equ $ - msg ;length of our string