информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медСетевые кракеры и правда о деле ЛевинаSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
я не учюсь 03.04.09 18:38  Число просмотров: 2416
Автор: Tamas Статус: Member
<"чистая" ссылка>
<programming>
[C++] для того кто знает ASM перевидите вот эти процедурки на C 02.04.09 23:40   [+]
Автор: Tamas Статус: Member
<"чистая" ссылка>
Заранее огромное спасибо !!!!


; выравнивает значение в eax до значения кратного 0x200 в большую сторону
proc Align_0x200
; -> EAX Value
or eax,eax
jne @f
retn
@@: test eax,$FFFFFE00
je @f
test ax,$01FF
jne @f
retn
@@: and ax,$FE00
add eax,$200
retn
endp

; выравнивает значение в eax до значения кратного 0x1000 в большую сторону
proc Align_0x1000
; -> EAX Value
or eax,eax
jne @f

retn
@@: test eax,$FFFFF000
je @f
test ax,$0FFF
jne @f
retn
@@: and ax,$F000
add eax,$1000
retn
endp
Лехко 03.04.09 16:09  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
void F1();
void F2();

void main()
{
F1();
F2();
}

void F1()
{
__asm
{
or eax,eax
jne @f
retn
@@: test eax,$FFFFFE00
je @f
test ax,$01FF
jne @f
retn
@@: and ax,$FE00
add eax,$200
}
}

void F2()
{
__asm
{
or eax,eax
jne @f

retn
@@: test eax,$FFFFF000
je @f
test ax,$0FFF
jne @f
retn
@@: and ax,$F000
add eax,$1000
}
}

:))))))))))))
так и я могу... 03.04.09 18:38  
Автор: Tamas Статус: Member
<"чистая" ссылка>
[C++] Кто в институте учится? Ты, или - мы? 03.04.09 06:21  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
я не учюсь 03.04.09 18:38  
Автор: Tamas Статус: Member
<"чистая" ссылка>
[C++] если применить дзенствие, то получится нечто типа #define alignTo(x, to) ((x && to == x) ? x: (x && to) + to ) 04.04.09 12:34  
Автор: kstati <Евгений Борисов> Статус: Elderman
Отредактировано 04.04.09 12:45  Количество правок: 2
<"чистая" ссылка>
[C++] Пардон! Тада сути вопроса не понял. 06.04.09 16:21  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Зачем было вообще пытаться понять АСМ-код?

Оно же, элементарно, из пальца высасывается! Мож, не так извратно и нечитаемо, как у предыдущего оратора, но работать будет, и - быстро. Если бы ты спросил: "А этот код, действительно, выравнивает без ошибок?" - тада было бы ясно.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach