решение на FASM:
Код
format PE GUI 4.0
entry start
include 'c:\program files\fasm\include\win32a.inc'
section '.data' data readable writeable
xbytes db 00111000b; Данные для задачки
db 11111110b
db 01010101b
db 00001001b
db 00000110b
mask db 'Count: %i',13,10,13,10
db '%i%i%i%i%i - %i%i%i%i%i - %i%i%i%i%i - %i%i%i%i%i',13,10
db '%i%i%i%i%i - %i%i%i%i%i - %i%i%i%i%i - %i%i%i%i%i',13,10,0
title db 'Solution',0
tmp rb 100
section '.code' code readable executable
start:
mov esi,xbytes+4
loc_1:
lodsb
mov ecx,8
loc_2:
xor edx,edx
test al,00000001b
jz loc_3
inc edx
loc_3:
push edx
shr al,1
loop loc_2
dec esi
dec esi
cmp esi,xbytes
jnb loc_1
xor eax,eax
xor esi,esi
loc_4:
xor edi,edi
mov ecx,5
loc_5:
add edi,[esp+eax*4]
inc eax
loop loc_5
test edi,edi
jz loc_6
test edi,1
jnz loc_6
inc esi
loc_6:
cmp eax,40
jb loc_4
invoke wsprintf,tmp,mask,esi
add esp,12+(8*5*4)
invoke MessageBox,HWND_DESKTOP,tmp,title,MB_OK
invoke ExitProcess,0
section '.idata' import data readable writeable
library kernel32,"KERNEL32.DLL",\
user32,"USER32.DLL"
include "c:\Program Files\FASM\INCLUDE\apia\kernel32.inc"
include "c:\Program Files\FASM\INCLUDE\apia\user32.inc"
исходник и скомпилированный exe под этот пример в аттаче. камменты, извини, лениво было расставлять. пусть сын сам разбирается, код несложный