diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-06-27 22:24:12 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-06-27 22:25:39 -0700 |
commit | 3c398ff301cb90f020ed04283c099b9e99146670 (patch) | |
tree | 8ef6a10f9c9269d8339afa581dd7daf259d730f6 /subx/teensy/test5.s | |
parent | 1d5d645be75691b535fe15e6be9d7855f62dc819 (diff) | |
download | mu-3c398ff301cb90f020ed04283c099b9e99146670.tar.gz |
4278 - load_elf() isn't actually working yet
Here's a few test binaries generated on 32-bit Linux.
Diffstat (limited to 'subx/teensy/test5.s')
-rw-r--r-- | subx/teensy/test5.s | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/subx/teensy/test5.s b/subx/teensy/test5.s new file mode 100644 index 00000000..3049615a --- /dev/null +++ b/subx/teensy/test5.s @@ -0,0 +1,43 @@ +; https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html +; nasm -f bin test5.s -o test5 +; chmod +x test5 +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 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 + 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 +phdrsize equ $ - phdr + +_start: + mov bl, 42 + xor eax, eax + inc eax + int 0x80 + +filesize equ $ - $$ |