Следующий код выполняется бесконечно. Код (Text): _txt: invoke CreateFile,szTemp+4,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL mov [hTempFile],eax __ReadNext: invoke ReadFile,[hTempFile],szSendBuff,256,bytes_count,NULL mov eax,bytes_count or eax,eax jz __EndRead ; Вот тут походу не происходит выхода их цикла ; je __EndRead invoke MessageBox,0,szSendBuff,szCmd,MB_ICONQUESTION+MB_OK ; строго говоря не имеет значения что ТУТ делается. jmp __ReadNext __EndRead: invoke CloseHandle,[hTempFile] jmp _retn Мне кажется что проблема в bytes_count. Не понятно каке его значение. В MSDN написано что это как раз число прочитанных байт. если заменить условие на Код (Text): cmp [bytes_count], 0 je __EndRead то наоборот сразу выходит Компилятор FASM.