Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[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
|
Зачем было вообще пытаться понять АСМ-код?
Оно же, элементарно, из пальца высасывается! Мож, не так извратно и нечитаемо, как у предыдущего оратора, но работать будет, и - быстро. Если бы ты спросил: "А этот код, действительно, выравнивает без ошибок?" - тада было бы ясно.
|
|
|