· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.A&O —› Сравнение одним махом

. 1 . 2 . 3 . 4 . >>

Посл.отвђт Сообщенiе


Дата: Янв 8, 2004 17:03:27

Что-то пошли темы о компиляторах :))

Вот така проблема. Функция сканер, которая сканирует строку символов и останавливается как только находит символ, не входящий в определённых диапазон.

Хотелось бы сделать это оптимальнейшим образом.


Дата: Янв 8, 2004 17:05:36

Прототип функции такой

esi -- начало потока (адрес)
edi -- конец потока

eax -- нижняя
edx -- верхняя границы


Дата: Янв 8, 2004 17:50:33

Старая перечница, да когда ты угомонишься??? :)))))


Дата: Янв 8, 2004 17:52:03

volodya
АААААААААААААААА, НАЕЗЖАЮТ :))))))))))))
Да никогда!!!!!!


Дата: Янв 8, 2004 18:08:45

Edmond

Мне безумно нравится титул кофейник которым тебя наградил Володя. Можно на что-нибудь выменять? Я очень серьезно!


Дата: Янв 8, 2004 18:09:37

Валерий - кофейник дзена. Хи-хи. Звучит!


Дата: Янв 8, 2004 18:17:43 · Поправил: Valery

volodya

Доброе утро! Лучше все-таки не нахаляву - тогда ощущается приобретение:)


Дата: Янв 8, 2004 18:21:35

Привет! :)
Тогда пиши статью, которую ты мне обещаешь уже, примерно, с месяц 8-)


Дата: Янв 8, 2004 18:23:51 · Поправил: Quantum

Edmond
Как ты мог такое пропустить!? :-)))
; --------------------------------------------------------
; Параметры:
;  ESI - Указатель на входной поток
;  EDI - Указатель на конец потока
;  AL  - Нижняя граница
;  DL  - Верхняя граница
; ========================================================
stream_scan PROC SYSCALL
@@:  cmp esi,edi
     jge @R
     mov cl,BYTE PTR [esi]
     inc esi
     cmp cl,al
     sbb ah,ah
     cmp cl,dl
     adc ah,0
     jnz @B
@R:  ret
stream_scan ENDP


Дата: Янв 8, 2004 18:24:19

volodya
Так, хватить флеймить в моей теме :))
Валера, пиши статью, будет тебе титул.


Дата: Янв 8, 2004 18:28:02

Quantum
Ой, ты гой Великий Молодец :))


Дата: Янв 8, 2004 18:38:09 · Поправил: Valery

Edmond

извини что твой наисерьезнейший топик зафлеймил - можешь отыграться на каком-ниб моем:)

volodya

Она уже вылилась в многоглавный мануал. Готовы (ну почти) как раз главы, с которых нельзя начинать - потому что лучшее я оставил на конец. (В жизни я наоборот сразу съедаю вкусненькое:)
Все ради чего делаю - это живая оптимизация, примеры,примеры,примеры. Но: читатель не должен ползать по интеловским мануалам (пока) и приходится ляпать свой - упрощенный. Хреновый из меня Зубков - ну посмотрим:)

Проблема только одна: времени мало... Как тока надумал писать - сразу на новую работу устроился и дел дофига.

Но назад уже нет пути - кто увидел 128 регистров уже обратно не хочется:)


Дата: Янв 8, 2004 18:40:57

Edmond
Ты лучше похвали Black_mirror'а и остальных участников из той ветки ;-)


Дата: Янв 8, 2004 18:42:00

Valery
Ты мне хотя бы 1 покажи.


Дата: Янв 8, 2004 20:29:25

Edmond

Боюсь, алгоритмических находок здесь быть не может. Сам посуди: диапазон у тебя один, входной поток линейный, разбор поэлементный -> на не обработанном предварительно наборе входных данных (несортированом, неиндексированом, и т.д.) получить сложность лучше O(n) нельзя. Поэтому, тупо в лоб - копать отсюда и до обеда.

Другой вопрос, что под это дело вполне можно приспособить какой-нить mmx или sse2.

А та ветка, которую тебе Quantum
показывает, совсем не про это. Другая задача, другие методы решения.

. 1 . 2 . 3 . 4 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.065