Сейчас на форуме: 2nd, morgot, Rio, CDK123, zds, tyns777, tihiy_grom (+5 невидимых)

 eXeL@B —› Программирование —› Фильтр на asm
Посл.ответ Сообщение

Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 марта 2009 18:55
· Личное сообщение · #1

Нужно написать дополнительный фильтр в функции проверки.
т.е. есть функция которая проверяет правильность введенных данных.
я хочу сразу после вызова вставить проверку с своим блоком данных.

Нужен цикл котрый будет крутиться несколько раз, и сравнивать 4 байта по адресу xxxxxxxx
с моими данными тоже по 4 байта, если = то в EAX=0 и RETN

Help me pls.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 22 марта 2009 18:58
· Личное сообщение · #2

а в чем собственно трудность?



Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 22 марта 2009 18:59
· Личное сообщение · #3

Kraks пишет:
сравнивать 4 байта по адресу xxxxxxxx
с моими данными тоже по 4 байта

Для этого достаточно сравнить два 32bit регистра и прочитать начало учебника по asm.

-----
продавец резиновых утёнков




Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 марта 2009 19:20
· Личное сообщение · #4

HiEndsoft пишет:
Kraks пишет:
сравнивать 4 байта по адресу xxxxxxxx
с моими данными тоже по 4 байта
Для этого достаточно сравнить два 32bit регистра и прочитать начало учебника по asm.


CMP EAX,EBX
JE xxxxxxxxx
.....
.....
это не проблема, у меня к примеру 40 байт нужен цикл который крутился к примеру десять раз и менял индекс адреса моих данных

В принципе это не так сложно, но мне читать доку по asm неделю, может все же кто нибудь выложит кусочек кода ?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 22 марта 2009 19:51 · Поправил: coderess
· Личное сообщение · #5

Code:
  1. lea    Esi, lpData
  2. xor    ecx, ecx
  3. @@: 
  4.     ;lodsb
  5.     mov   Al, byte ptr[Esi + Ecx]
  6.     inc    Ecx
  7.     cmp   Ecx, 0Ah
  8.     jnz    @b

Или mov byte, или lodsb

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 марта 2009 20:09 · Поправил: Kraks
· Личное сообщение · #6

Спасибо



Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 марта 2009 20:20
· Личное сообщение · #7

а, нет примера через repne
поиска 4 байт в 40 байтовой строке с увеличением индекса на 4 ?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 22 марта 2009 20:29
· Личное сообщение · #8

увеличением индекса на 4 ?


add ecx, 4

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 марта 2009 20:35
· Личное сообщение · #9

coderess пишет:
увеличением индекса на 4 ?


add ecx, 4


ecx же вроде счетчик цикла

Через repne походу надо




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 22 марта 2009 21:23
· Личное сообщение · #10

repne scasd почитай уже основы, не грузи публику такими вопросами.


 eXeL@B —› Программирование —› Фильтр на asm
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати