| Код | ;set fasminc=c:\fasm\include ;goto make
format PE GUI 4.0 include '%fasminc%\win32a.inc'
or eax,-1 ; i = -1 mov esi,7 ; e = 7 xor ebx,ebx ; s = 0 _loop: inc eax ; i++ cmp eax,99 ; i == 99 je _exit lea ebx,[esi+1] ; s = e + 1 cmp ebx,7 ; if (s > 7) jle @F ; sub ebx,7 ; s -= 7 @@: mov esi,ebx ; e = s push eax mov ecx,4 cdq div ecx ; i % 4 pop eax test edx,edx ; if (!(i % 4)) jnz @F inc esi ; e++ @@: cmp ebx,5 ; if ((s <= 5) & jg _loop cmp esi,5 ; & (e >= 5)) jl _loop pusha add eax,2000 ; 2000 + i invoke wsprintf,buff,fmt,eax add esp,0Ch invoke MessageBox,0,buff,0,0 popa jmp _loop _exit: invoke ExitProcess,0 buff rb 20h fmt db '%d',0
data import library kernel32,'KERNEL32.DLL',user32,'USER32.DLL' include '%fasminc%\apia\kernel32.inc' include '%fasminc%\apia\user32.inc' end data
;:make ;c:\fasm\fasm %0 ;pause
|
Не совсем понял зачем нужна переменная "unsigned char years[100]" если она все равно не используется и не стал ее вводить. Но если нужно добавлю. |