Path: blob/master/data/templates/src/elf/exe/elf_mips64_template.s
28810 views
; build with:1; nasm elf_mips64_template.s -f bin -o template_mips64_linux.bin23%define WORD_BE(value) (((value & 0xFF) << 8) | ((value >> 8) & 0xFF))4%define DWORD_BE(dword) (((dword & 0xFF) << 24) | \5((dword & 0xFF00) << 8) | \6((dword >> 8) & 0xFF00) | \7((dword >> 24) & 0xFF))8%define QWORD_BE(qword) ( \9((qword & 0x00000000000000FF) << 56) | \10((qword & 0x000000000000FF00) << 40) | \11((qword & 0x0000000000FF0000) << 24) | \12((qword & 0x00000000FF000000) << 8) | \13((qword >> 8) & 0x000000FF00000000) | \14((qword >> 24) & 0x0000FF0000000000) | \15((qword >> 40) & 0x00FF000000000000) | \16((qword >> 56) & 0xFF00000000000000) )1718BITS 641920org 0x40000021ehdr: ; Elf32_Ehdr22db 0x7F, "ELF", 2, 2, 1, 0 ; e_ident23db 0, 0, 0, 0, 0, 0, 0, 0 ;24dw WORD_BE(2) ; e_type = ET_EXEC for an executable25dw WORD_BE(0x08) ; e_machine = MIPS26dd 0 ; e_version27dq QWORD_BE(0x400078) ; e_entry28dq QWORD_BE(0x40) ; e_phoff29dq 0 ; e_shoff30dd 0 ; e_flags31dw WORD_BE(0x40) ; e_ehsize32dw WORD_BE(0x38) ; e_phentsize33dw WORD_BE(0x1) ; e_phnum34dw 0 ; e_shentsize35dw 0 ; e_shnum36dw 0 ; e_shstrndx3738ehdrsize equ $ - ehdr3940phdr: ; Elf32_Phdr41dd DWORD_BE(1) ; p_type = PT_LOAD42dd DWORD_BE(7) ; p_flags = rwx43dq 0 ; p_offset44dq QWORD_BE(0x400000) ; p_vaddr45dq QWORD_BE(0x400000) ; p_paddr46dq QWORD_BE(0xA00000) ; p_filesz47dq QWORD_BE(0xA00000) ; p_memsz48dq QWORD_BE(0x1000) ; p_align4950phdrsize equ $ - phdr5152global _start5354_start:555657