Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BITS 32
- org 0x08048000
- ehdr: ; Elf32_Ehdr
- db 0x7F, "ELF", 1, 1, 1, 0 ; e_ident
- times 8 db 0
- dw 2 ; e_type
- dw 3 ; e_machine
- dd 1 ; e_version
- dd _start ; e_entry
- dd 52
- dd 0 ; e_shoff
- dd 0 ; e_flags
- dw 52
- dw 32
- dw 2 ; e_phnum
- dw 0 ; e_shentsize
- dw 0 ; e_shnum
- dw 0 ; e_shstrndx
- ; this is the header for the code section
- dd 1 ; p_type
- dd 0 ; p_offset
- dd $$ ; p_vaddr
- dd $$ ; p_paddr
- dd filesize ; p_filesz
- dd filesize ; p_memsz
- dd 5 ; p_flags
- dd 0x1000 ; p_align
- ; this is the header for the string table
- dd 1 ; p_type
- dd 0 ; p_offset
- dd $$ ; p_vaddr
- dd $$ ; p_paddr
- dd filesize ; p_filesz
- dd filesize ; p_memsz
- dd 5 ; p_flags
- dd 0x1000 ; p_align
- _start:
- ; We want to print the string
- mov eax,4 ; 'write' system call
- mov ebx,1 ; file descriptor 1 = screen
- mov ecx,teststr ; string to write
- mov edx,14 ; length of string to write
- int 80h ; call the kernel
- ; Terminate program
- mov eax,1 ; 'exit' system call
- mov ebx,0 ; exit with error code 0
- int 80h ; call the kernel
- _stringtable:
- teststr db "Hello, world!",10,0
- filesize equ $ - $$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement