информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft сообщила о 44 миллионах... 
 Множественные уязвимости в VNC 
 Шестой Perl превратится в Raku,... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[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-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach