; 99 bottles of beer by Quiveror ; x86-64 Windows console version format PE64 console entry start section '.data' data readable writeable stdout dq ? a$ db '00 bottles' b$ db ' of beer' c$ db ' on the wall' d$ db ',',13,10,13,10 e$ db 13,10,'Take one down, pass it around,',13,10 f$ db 13,10,'Go to the store, buy some more,',13,10 label h$ section '.code' code readable executable fillnum: movzx eax,bl mov cl,10 div cl add eax,'00' mov word [a$],ax xor esi,esi cmp bl,cl setb sil mov edi,esi cmp bl,2 adc edi,0 neg edi ret write: push rbp mov rbp,rsp and rsp,not 0Fh push rax lea r9,[rsp] push 0 mov r8d,edx mov rdx,rcx mov rcx,[stdout] sub rsp,8*4 call [WriteFile]