BITS 32
        org     0x00000000
        db      0x7F, "ELF"     ; e_ident
        db      1,1,1,0
        dd      0,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      52              ; e_ehsize
        dw      32              ; e_phentsize
        dw      1               ; e_phnum
        dw      0               ; e_shentsize
        dw      0               ; e_shnum
        dw      0               ; e_shstrndx
phdr:   dd      1               ; p_type
        dd      0               ; p_offset
        dd      $$              ; p_vaddr
        dd      0               ; p_paddr
        dd      filesize        ; p_filesz
        dd      filesize        ; p_memsz
        dd      7               ; p_flags
        dd      0               ; p_align
_start:
        mov     al, 4           ; write = 4
        inc     ebx             ; stdout = 1
        mov     dl, filesize    ; strlen
        int     0x80
        xchg    eax, ebx        ; exit = 1
        xchg    ebx, ecx        ; exit(0)
        int     0x80
filesize equ    $ - $$
