|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 3, 2004 00:17:00 Как будто, цикл записан правильно, но почему-то происходит "зацикливание". Почему в MASM не работает конструкция: jcxz kkl mov cx, 4 lb: invoke Sleep, 350 invoke FlashWindow,hWnd, TRUE loop lb kkl: И ещё, почему не работает: xor ecx, ecx mov ecx, 3 th: invoke Sleep, 350 invoke FlashWindow,hWnd, TRUE dec ecx .if ecx>0 jmp th .endif а xor ebx, ebx mov ebx, 4 th: invoke Sleep, 350 invoke FlashWindow,hWnd, TRUE dec ebx .if ebx>0 jmp th .endif работает ??? |
|
|
Дата: Авг 3, 2004 00:54:12 _Sysman_ Посмотри на свой ecx после возврата из API ф-ций: потому и не можешь выбраться из цикла. А третий работает потому, что ebx не изменяется. Делай push - pop ecx. |
|
|
Дата: Авг 4, 2004 03:37:02 · Поправил: AsmGuru62 Просто для справки: Win32 API сохраняет EBX,EDI,ESI - так что можно смело ими пользоваться. ESI и EDI хороши для прохода массивов. Елемент массива адресуется через [EBX+ESI] (или одним регистром ESi,EDI), после вызова API они останутся на месте. И ещё: я мерял как-то (по скорости) LOOP против DEC reg32/JNZ loop_start - LOOP медленнее процентов на %30. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.062 |