From d7c513d8f7654ab61296be5aefbea4eadff69125 Mon Sep 17 00:00:00 2001 From: Noah Weninger Date: Wed, 26 Oct 2022 12:18:01 -0400 Subject: add x86 elf (81 bytes) --- entries/nwoeanhinnogaehr/fib.asm | 59 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 entries/nwoeanhinnogaehr/fib.asm (limited to 'entries') diff --git a/entries/nwoeanhinnogaehr/fib.asm b/entries/nwoeanhinnogaehr/fib.asm new file mode 100644 index 0000000..26ccf11 --- /dev/null +++ b/entries/nwoeanhinnogaehr/fib.asm @@ -0,0 +1,59 @@ +; assembles with nasm to an 81-byte ELF binary that works on x86 Linux + +bits 32 +org $25430000 + db $7F,"ELF" ; e_ident + dd 1 ; p_type + dd 0 ; p_offset + dd $$ ; p_vaddr + dw 2 ; e_type, p_paddr + dw 3 ; e_machine + dd entry ; e_version, p_filesz + dw (entry-$$)&0xffff ; e_entry, p_memsz + +entry: + inc ebx + and eax,strict dword 4 ;nop + inc esi ; 1 + inc edi ; 1 + ; 2 + ; 3 + ; 5 + ; 8 + ; ... + +loop: + mov eax,esi + push 10 + pop ebp + push ebp + jmp format + dw $20 ; e_phentsize + dw 1 ; e_phnum + +format: + cdq + div ebp + inc ebx + dec esp + or edx,'0' + mov [esp],dl + test eax,eax + jnz format + +print: + mov al,4 + mov ecx,esp + mov edx,ebx + mov bl,1 + int 0x80 + + ;update fibbo + mov eax,edi + add edi,esi + xchg esi,eax + + ;exit on overflow + jno loop + xchg eax,ebx + int 0x80 -- cgit v1.2.3-70-g09d2