41 lines
1.3 KiB
ArmAsm
41 lines
1.3 KiB
ArmAsm
; build with:
|
|
; nasm elf_template.s -f bin -o template_x86_linux.bin
|
|
|
|
BITS 32
|
|
|
|
org 0x08048000
|
|
|
|
ehdr: ; Elf32_Ehdr
|
|
db 0x7F, "ELF", 1, 1, 1, 0 ; e_ident
|
|
db 0, 0, 0, 0, 0, 0, 0, 0 ;
|
|
dw 2 ; e_type = ET_EXEC for an executable
|
|
dw 3 ; e_machine
|
|
dd 1 ; e_version
|
|
dd _start ; e_entry
|
|
dd phdr - $$ ; e_phoff
|
|
dd 0 ; e_shoff
|
|
dd 0 ; e_flags
|
|
dw ehdrsize ; e_ehsize
|
|
dw phdrsize ; e_phentsize
|
|
dw 1 ; e_phnum
|
|
dw 0 ; e_shentsize
|
|
dw 0 ; e_shnum
|
|
dw 0 ; e_shstrndx
|
|
|
|
ehdrsize equ $ - ehdr
|
|
|
|
phdr: ; Elf32_Phdr
|
|
dd 1 ; p_type = PT_LOAD
|
|
dd 0 ; p_offset
|
|
dd $$ ; p_vaddr
|
|
dd $$ ; p_paddr
|
|
dd 0xDEADBEEF ; p_filesz
|
|
dd 0xDEADBEEF ; p_memsz
|
|
dd 7 ; p_flags = rwx
|
|
dd 0x1000 ; p_align
|
|
|
|
phdrsize equ $ - phdr
|
|
|
|
_start:
|
|
|