; Version : 0.1 ; Last update : 12/8/2020 ; Description : Do you need ultimate yes performance? Well, you've come to the right place. ; Copyright (C) ; 2020 Gentoo-libre Install ; Licence : GPLv3+ ; Note : Assumes that the stack is at least 65536 bytes. section .data Yes: db 0xA,'y',0xA,'y',0xA,'y',0xA,'y' ;8 bytes as the stack is written to 8 bytes at a time section .text global _start _start: xor ecx,ecx ;0 out the counter register ALIGN 16 ;Align the stack to 16 bytes ;; rsp is pointing to the "start" of the stack yees: inc ecx ;increment the counter every loop push qword[Yes] ;push 8 bytes to the stack test ecx,512 ;Check for 8192 loops je yees ;continue if amount is not reached ;;the stack is now full of 32768 bytes of '\ny' (maybe a bit more, but that's ignored) mov edi,1 ;fd = STDOUT_FILENO mov edx,4096 ;print 65536 bytes mov rsi,rsp ;the value of rsp is the start of where the text is yes: mov eax,1 ;sys_write syscall jmp yes ;print those 65536 bytes of 'y\n' forever ;;this won't ever be reached but it's left for any future usage exit: mov eax, 60 ;sys_exit xor edi, edi ;return 0 syscall ;do sys_exit