bomzzz
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору да быстрее, и места меньше занимает. к тому же ноль еще из памяти считывается. абсолютная выгода. можно измерять какой код быстрее. реальное выполнение отличается от теоритического из за доступа в память и как уже отмечено на разных процах по разному. Добавлено: Цитата: .586 .model flat, stdcall option casemap :none include \MASM32\INCLUDE\windows.inc include \MASM32\INCLUDE\user32.inc include \MASM32\INCLUDE\kernel32.inc include \masm32\include\masm32.inc includelib \MASM32\LIB\user32.lib includelib \MASM32\LIB\kernel32.lib includelib \masm32\lib\masm32.lib .data? Ticks LONG64 ? Ticks1 LONG64 ? CReg dt ? FString db 21 dup(?) .code start: invoke GetCurrentProcess invoke SetPriorityClass,eax,REALTIME_PRIORITY_CLASS invoke GetCurrentThread invoke SetThreadPriority,eax,THREAD_PRIORITY_TIME_CRITICAL mov ecx, 2 @@: rdtsc mov dword ptr [Ticks], eax mov dword ptr [Ticks+4], edx push ecx ;=============================================================== ;================== Here insert testing code =================== ;=============================================================== ;=============================================================== pop ecx rdtsc mov dword ptr [Ticks1],eax mov dword ptr [Ticks1+4],edx loop @B invoke GetCurrentThread invoke SetThreadPriority,eax,THREAD_PRIORITY_NORMAL invoke GetCurrentProcess invoke SetPriorityClass,eax,NORMAL_PRIORITY_CLASS fild Ticks fild Ticks1 fsubr fbstp CReg lea edi,FString+18 lea esi,CReg mov ecx, 10 @@: xor eax, eax lodsb ror ax,4 shr ah, 4 add ax, 3030h std stosw cld loop @B invoke MessageBox,0, addr FString,0,0 invoke ExitProcess,0 end start | может не совсем корректно, код оптимизировал. надо наверно по границе выровнять, может еще что то... |