Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

19.08.2007, 20:11
|
|
Участник форума
Регистрация: 28.05.2007
Сообщений: 125
Провел на форуме: 638513
Репутация:
103
|
|
ЗЫ нужно что бы учитывало реестр символов.
Может регистр символов? О_о
|
|
|

19.08.2007, 20:32
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме: 1941233
Репутация:
2726
|
|
> cmp buf,'SubString'
это че за долбоенб писал?
|
|
|

19.08.2007, 21:17
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
|
|
|

19.08.2007, 21:39
|
|
Участник форума
Регистрация: 11.07.2007
Сообщений: 190
Провел на форуме: 254313
Репутация:
185
|
|
Если учитывать регистр символов то туть можно через хеш:
Код:
_1 db 'Lamia',0
_2 db 'lamia',0
title db 'Слова разные',0
_title db 'Слова одинаковые',0
entry $
xor esi,esi
mov edi,_1
next:
mov eax, edi
xor edx, edx
hash:
rol edx, 3
xor dl, byte [eax]
inc eax
cmp byte [eax], 0
jnz hash
cmp esi,0
je @
cmp esi,edx
je f@
invoke MessageBox,0,title,0,0
jmp exit
@:
mov esi,edx
mov edi,_2
jmp next
f@:
invoke MessageBox,0,_title,0,0
exit:
ret
Последний раз редактировалось De-visible; 29.04.2008 в 01:14..
Причина: теги [code] для кого придумали?
|
|
|

19.08.2007, 21:49
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
что делает инструкция int?
|
|
|

19.08.2007, 21:55
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
прерывание
|
|
|

20.08.2007, 00:28
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Инструкиця INT xx делает следующее:
1) Если она выполняется в реальном режиме, то ее псевдокод такой:
pushf
push cs
push ip
// из слова 0:[xx<<4] берется сегмент, из слова 0:[xx<<4 + 2] берется смещение и выполняется дальний переход на этот адрес - обработчик прерывания.
2) Если она выполняется в защищенном режиме, то ее псевдокод такой:
pushfd
push cs
push eip
// проверка защиты
// смена уровня привилегий если нужно
// прыжок на адрес, задаваемый селектором IDT[xx].Selector и смещением IDT[xx].Offset
В двух словах оно нужно для передачи управления некоторой фиксированной системной процедуре для выполнения определенного действия.
В DOS/Windows системные апи реализованы в виде прерываний (в Windows только до XP, дальше идет другой механизм).
BIOS устанавливает свои обработчики для аппаратных сервисов.
Еще кроме программных прерываний есть аппаратные прерывания. Например: 1 или 3. Процессор генерирует их сам, если произойдет определенное событие.
|
|
|

20.08.2007, 01:23
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
scrat я полагаю тебя интересует вин? Винда работает в пмоде, так что тебе нужен пункт 2, привиденный гритом. Кстати, про перывания есть множество статей, если хочешь узнать про них больше - поищи на васме например.
>>в Windows только до XP, дальше идет другой механизм
sysenter имеешь ввиду?
Последний раз редактировалось Ni0x; 20.08.2007 в 01:50..
|
|
|

20.08.2007, 09:17
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
>>в Windows только до XP, дальше идет другой механизм
sysenter имеешь ввиду?
именно
|
|
|

22.08.2007, 06:19
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
на счёт поиска подстроки - лучше юзать repe cmps. у зубкова написано. есть специальная фича для сравнения строк - cmpS. но и просто байтово можно через cmpb вроде. карочу зубкова есть хорошая глава про префикс повторения и команды сравнения. ну а дальше тока вшений цикл, который сдвигает смещение в строке, в которой ищется подстрока.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|