|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Май 5, 2004 21:48:41 В первых процессорах в регистре флагов существовал такой бит чётности, который выставлялся в 1, если кол-во единиц в результате не чётно. А есть ли такой (или подобный) бит в регистре флагов сейчас? И как его можно пользовать? Можно ли по нему делать переход? Просто я сейчас работаю над программой в которой его использование увеличило бы скорость работы коллосально, а время в ней очень критично. Заранее спасибо. Makc |
|
|
Дата: Май 5, 2004 22:24:11 parity flag |
|
|
Дата: Май 5, 2004 22:45:19 |
|
|
Дата: Май 6, 2004 00:32:50 Мне мерещится что это только для мл байта. Проверь |
|
|
Дата: Май 6, 2004 01:21:54 цитата из интеловских мануалов (том 1, стр. 3-15): PF(bit2) Parity flag. Set if least-significant byte of the result contains an even number of 1 bits; cleared otherwise вообще доки рулят... |
|
|
Дата: Май 6, 2004 17:45:49 ...мда... странно, а я то думал... век живи - век учись. А если надо например EAX анализировать на чётность - так надо ручками - каждый бит?.. |
|
|
Дата: Май 6, 2004 18:01:58 Подождите, подождите. Что такое "четность" числа? Это делимость на два. Как проверить делится ли число на два? Проверить самый младший бит. Как это сделать - описывалось не раз. Или я чего-то сам не понимаю? Развели тут... |
|
|
Дата: Май 6, 2004 18:05:59 Или я чего-то сам не понимаю имеется в виду не четность числа, а четное количество единичных бит в числе... |
|
|
Дата: Май 6, 2004 18:11:17 · Поправил: volodya а четное количество единичных бит в числе... А-а-а! Понял :-) Ну так и это не ново. На win32.asmcommunity обсуждали подсчет единичек в числе. Общая идея для самой бешеной скорости - это использование табличного алгоритма. |
|
|
Дата: Май 7, 2004 00:36:26 Общая идея для самой бешеной скорости - это использование табличного алгоритма если это умеет камень, почему бы это не использовать ? :) (правда только для младшего байта, но все-же...) |
|
|
Дата: Май 8, 2004 06:52:40 Если надо для DWORD, то PE тоже можно заюзать, но придется еще добывить всяких BSWAP & ROR Тут зависит от того, как организованны данные ЗЫ подсчет единичек в числе был и на Ѳоруме.. |
|
|
Дата: Май 8, 2004 06:55:48 S_T_A_S_ BSWAP & ROR не влияют на PF. Придётся ещё и TEST задействовать. |
|
|
Дата: Май 8, 2004 07:43:37 · Поправил: S_T_A_S_ ROR может понадобиться чтобы уйти от партиальных регистров. Иначе можно и так: mov edx, eax bswap eax xor eax, edx xor al, ah JP ...... |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 1.376 |