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

 WASM Phorum —› WASM.A&O —› Pascal::String::operator+

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


Дата: Авг 16, 2004 17:50:56

Дано два регистра EAX & EDX, в которые записано Паскалевские строки. (256 байт, в 0-м длинна строки). Надо их сложить(конкатенировать). Понятное дело что если длинны превысит 255, то надо обрезать. Память под новую строку выделить в стеке. Оптимизировать по скорости, а потом по размеру.


Дата: Авг 16, 2004 17:51:50

Дано два регистра EAX & EDX, в которые записано Паскалевские строки
:)
указатели на строки


Дата: Авг 16, 2004 19:13:07

Вот вам мой ламерский совет.

Обозначим длину первой строки за LA, длину второй - за LD,
а длину результата - LR.

Очевидно, что LR = MIN (LA+LD, 255)

Получается "сложение с потолком". Можно воспользоваться MMX-инструкцией - даст большой выигрыш по размеру (насчёт скорости не уверен).


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