Ребята, не могли бы подсказать или дать на водку. Как сделать в бесконечном цикле паузу. Предположим, у нас есть бесконечный цикл, который обрабатывает некоторую информацию. Но исходя из того, что он бесконечный - он загружает процессор и всю систему в целом на 95-99%. Как можно было бы сделать так, чтобы этого не происходило. Т.е. по сути, нужно как-то сделать так, чтобы цикл делал перерывы в своей работе хотя бы на какое-то время. По функциям delay,sleep смотрел, но почему-то их в МАСМ нету, или есть, но я об этом не знаю .... если есть возможность данные функции описать как-то или вызвать, то было бы просто очень здорово, если кто-то об этом знает. Очень прошу, подскажите, буду очень благодарен !!! Как пример, кода: .686 .model flat, stdcall option casemap:none include \masm32\include\windows.inc .code start: @beg123: push eax mov eax,100h pop eax jmp @beg123 ret end start
Раз нужно, чтоб меньше кушал, можно Thread или Process Priority поменять на Idle. Но по-любому в масме есть слипы. Ищите лучше.
Спасибо огромное. Видимо, я уже заработался, совсем не правильно искал то, что нужно. Идиот просто. )))))
дык, а Код (Text): invoke SleepEx сколько_то_мсек,1 с подключенным windows.inc что мешает использовать?
хехе... ага, согласен неее.. кефир - сам куплю, хотя он, наверное, уже дороже пива стоит to Dmitry_Milk Да, ничего не мешает. В общем, это был глобальный тормоз мозга. даже просто Sleep вызывается, просто я их вызывал через invoke... они не вызывались... вылезала ошибка а, через call все ОК... поэтому, я уже начал паниковать, что в МАСМ - нету этих функций.. ))))))
По функциям delay,sleep смотрел, но почему-то их в МАСМ нету А у меня есть Бери мне не жалко: .686 .mmx .xmm .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc include \masm32\include\masm32.inc includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\masm32.lib invoke Sleep, 1000 ; задержка 1 сек
Dmitry_Milk asmlamo Ответ дали в посте #3, ТС его принял в #4. Зачем повторяться? Либо всё же стоит перед ответом прочитать посты товарищей.