
Быстрый поиск
Введите фрагмент названия статьи для поиска
Готовим тефтели
03.04.2012 | Категория: А еще я туда ем! | Автор: ManHunter

Готовим тефтели
Ежики с рисом уже были, теперь будем готовить самые настоящие тефтели, все как полагается. Тефтели обязательно входили в меню любой советской столовой, ну а в наше время они тоже легко могут стать центральным блюдом вашего стола. Особых кулинарных навыков вам не потребуется, впрочем, как и для всех остальных рецептов на этом сайте.
Читать статью целиком »
Просмотров: 8672 | Комментариев: 3
Концерт группы "Sirenia" в клубе "Plan B"
29.03.2012 | Категория: Жизнь в оффлайне | Автор: ManHunter

Концерт группы "Sirenia" в клубе "Plan B"
Морозы все никак не уходят, пора пускать в дело тяжелую артиллерию. Группа "Sirenia" снова в нашем городе! Обожаю этот коллектив, особенно с новой вокалисткой Айлин, ведь теперь в их творчестве сочетается брутальность норвежцев и страсть испанской Барселоны.
Читать статью целиком »
Просмотров: 4774 | Комментариев: 4
Замена подстроки в строке на Ассемблере
28.03.2012 | Категория: Образ мышления: Assembler | Автор: ManHunter
Во всех языках высокого уровня среди функций работы со строками присутствуют функции замены заданной подстроки в строке. В Ассемблере такой функции нет, как нет ее и среди функций стандартных библиотек. Замена подстроки на строку такой же длины обычно сложностей не составляет, так как ее можно выполнить прямо в исходной строке без выделения дополнительной памяти. Замена на строку произвольной длины, в том числе и пустую, будет посложнее. Для этого я написал следующую функцию.Code (Assembler) : Убрать нумерацию
- ;-----------------------------------------------------
- ; Функция замены подстроки в строке
- ;-----------------------------------------------------
- ; lpSrc - указатель на исходную строку
- ; lpDst - указатель на буфер для полученной строки
- ; lpPattern - указатель на заменяемую подстроку
- ; lpReplace - указатель на строку для замены
- ; dNum - количество замен (0 - заменить все)
- ;-----------------------------------------------------
- proc _replace lpSrc:DWORD, lpPattern:DWORD, lpReplace:DWORD,\
- lpDst:DWORD, dNum:DWORD
- pusha
- ; Указатель на буфер-приемник
- mov edx,[lpDst]
- ; Счетчик замен
- xor ebx,ebx
- ; Исходная строка не пустая?
- mov ecx,[lpSrc]
- cmp byte [ecx],0
- jz .loc_ret
- ; Заменяемая строка не пустая?
- mov eax,[lpPattern]
- cmp byte [eax],0
- jz .loc_copy_all
- .loc_scan:
- mov esi,ecx
- mov edi,[lpPattern]
- ; Исходная строка закончилась?
- cmp byte [esi],0
- je .loc_end_replace
- @@:
- ; Строки совпали с паттерном?
- cmp byte [edi],0
- je .loc_move_replace
- ; Символ совпадает с
- lodsb
- ; Заменять все вхождения?
- cmp [dNum],0
- je .loc_skip_counter
- ; Уже заменили нужное количество?
- cmp ebx,[dNum]
- je .loc_move_one_char
- .loc_skip_counter:
- cmp al,byte [edi]
- jne .loc_move_one_char
- inc edi
- jmp @b
- .loc_move_replace:
- ; Увеличить счетчик замен
- inc ebx
- mov ecx,esi
- ; Записать заменяющую строку
- mov esi,[lpReplace]
- mov edi,edx
- @@:
- lodsb
- or al,al
- jz .loc_scan
- stosb
- inc edx
- jmp @b
- .loc_move_one_char:
- ; Скопировать один символ
- mov al,byte [ecx]
- mov byte [edx],al
- inc edx
- inc ecx
- jmp .loc_scan
- .loc_end_replace:
- ; Записать финальный 0 в строку
- mov byte [edx],0
- jmp .loc_ret
- .loc_copy_all:
- ; Просто скопировать исходную строку
- mov esi,[lpSrc]
- mov edi,[lpDst]
- @@:
- lodsb
- stosb
- or al,al
- jnz @b
- .loc_ret:
- popa
- ret
- endp
Читать статью целиком »
Просмотров: 11954 | Комментариев: 8
Исследование защиты программы iResizer
24.03.2012 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы iResizer
Программа iResizer - удобный инструмент для изменения размеров графических файлов, с уникальной функцией сохранения исходных пропорций выбранных объектов. Также с ее помощью можно удалять с фотографий ненужные объекты. Конечно, это все прекрасно реализуется и в разных фотошопах, но iResizer позволяет выполнить такие операции буквально за несколько кликов мышкой. Как это все делается, вы можете посмотреть на офсайте, а здесь вы можете посмотреть, как сэкономить на этом процессе пару десятков баксов.
Читать статью целиком »
Просмотров: 5078 | Комментариев: 7
Музей анимационного кино
22.03.2012 | Категория: Жизнь в оффлайне | Автор: ManHunter

Музей анимационного кино
Анимационное кино - это великое искусство. Анимация объединила в себе то, что во все времена питало и отражало духовную и интеллектуальную жизнь человечества. В процессе создания кинокартины появляется множество художественных материалов (эскизы, живописные фоны, куклы, макеты и др.), которые после окончания работ подлежат списанию, то есть - уничтожению. Естественно, уничтожить то, что создал собственными руками достаточно сложно, а порой просто невозможно. Поэтому и был создан Музей анимационного кино - пространство, где эти материалы хранятся. Экспозиция и экскурсионные программы музея рассчитаны на посетителей всех возрастных групп, начиная с учеников младших классов. Большой популярностью пользуются семейные экскурсии выходного дня, когда дети вместе с родителями, бабушками и дедушками совершают маленькие открытия. Представители старшего поколения встречаются с любимыми с детства героями мультфильмов, погружают детей в атмосферу "старого доброго" анимационного кино.
Читать статью целиком »
Просмотров: 10030 | Комментариев: 4

