writing hello world in x86 assembly code example
Example 1: hello world x64 assembly
; Hello World x64 Assembly
; Linux System Call Method
section .data
msg db "Hello World"
len equ $-msg
section .text
global _start
_start:
mov rax,1 ;system call number (sys_write)
mov rdi,1 ;file descriptor (stdout)
mov rsi,msg ;string arg
mov rdx,len ;length of string arg
syscall ;call kernel
mov rax,60 ;system call number (sys_exit)
xor rdi,rdi ;clear destination index register
syscall ;call kernel
end:
Example 2: hello world x86 assembly
; Hello World x86 Assembly
; Linux System Call Method
section .data
msg db 'Hello world!',0xA
len equ $ - msg
section .text
global _start ;must be declared for linker (ld)
_start: ;tell linker entry point
mov edx,len ;length of string arg
mov ecx,msg ;string arg
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