· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Работа с памятью.

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


Дата: Авг 11, 2003 20:14:35

Как имея указатель на строку_1 = abcdef в eax и указатель на строку_2 = abc сравнить их по первым трём символам? Т.е. мне нужно урезать строку_1 до трёх символов. В голову приходят лишь прирывания доса, как обойтись без них?


Дата: Авг 11, 2003 20:17:38

lea esi, строка_1
lea edi, строка_2
mov eax, [esi]
mov edx, [edi]
and eax, 0ffffffh ; shl eax, 8 
and edx, 0ffffffh ; shl edx, 8
cmp eax, edx 


закомментирован другой вариант.


Дата: Авг 11, 2003 20:18:38 · Поправил: KiNDeR

может так
 ....
 ....
 mov esi, offset строка_2
 mov edi, offset строка_1
 repe cmpsb
 dec edi 
 mov byte ptr[edi],0 
 ....
 ....


Дата: Авг 12, 2003 13:37:00

Благодарю, меня наверное вчера переклинело, что я задала такой вопрос.


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