assembly hello world code example
Example 1: hello world in assembly
;creating text in section
section .data
text db "Hello, World!",10
;starting global function
section .text
global _start
;onstart
_start:
;hex values of where to print the hello world text
mov rax, 1
mov rdi, 1
mov rsi, text
mov rdx, 14
syscall
mov rax, 60
mov rdi, 0
syscall
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
Example 3: hello world in assembly
; hello-DOS.asm - single-segment, 16-bit "hello world" program
;
; assemble with "nasm -f bin -o hi.com hello-DOS.asm"
org 0x100 ; .com files always start 256 bytes into the segment
; int 21h is going to want...
mov dx, msg ; the address of or message in dx
mov ah, 9 ; ah=9 - "print string" sub-function
int 0x21 ; call dos services
mov ah, 0x4c ; "terminate program" sub-function
int 0x21 ; call dos services
msg db 'Hello, World!', 0x0d, 0x0a, '$' ; $-terminated message