|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 29, 2004 12:44:12 Страшные ассемблерные люди, подскажите мне, программеру на С, который балуется асмом, как обнулить ЕАХ. Я обычно пользуюсь для этого кнопкой RESET, но самый главный, несомненный, стопроцентный минус этго состоит как раз в том, что обнуляются все регистры сразу. |
|
|
Дата: Июн 29, 2004 13:01:57 xor eax, eax sub eax, eax ЗЫ: Ник смени, пока не поздно :) |
|
|
Дата: Июн 29, 2004 13:28:05 не, если на С, то _asm xor eax,eax |
|
|
Дата: Июн 29, 2004 14:51:34 если на Си, то zerroEAX(){return 0;} ее можно даже инлайнить ;) |
|
|
Дата: Июн 29, 2004 18:17:04 ЗЫ: Ник смени, пока не поздно :) Что-то мне подсказывает, что надо мной пытаются издеваться :) подскажите мне, программеру на С, который балуется асмом Моя, кстати, фраза. что обнуляются все регистры сразу Я вот думаю, может мне тебя обнулить? Ресетом? |
|
|
Дата: Июн 29, 2004 20:30:01 |
|
|
Дата: Июн 29, 2004 23:03:15 vo1odya #define ZeroEAX() _asm xor eax,eax #define ZeroEAX() _asm sub eax,eax #define ZeroEAX() _asm mov eax,0 Первые два варианта короче, зато третий сохраняет флаги |
|
|
Дата: Июн 30, 2004 01:24:58 volodya Может и издевается, а может его так зовут. Самомнение слишком уж... |
|
|
Дата: Июн 30, 2004 04:08:23 Loger #define ZeroEAX() _asm and eax,0 |
|
|
Дата: Июн 30, 2004 05:21:42mov edx,ds lsl eax,edx inc eax |
|
|
Дата: Июн 30, 2004 12:04:00 · Поправил: vinnie_poohmov eax,-1 shr eax,31 dec eax |
|
|
Дата: Июн 30, 2004 12:12:09 · Поправил: Black_mirror invoke GetProcessHeap
invoke HeapAlloc,eax,HEAP_ZERO_MEMORY,4
test eax,eax
jz .l
mov eax,[eax]
.l: |
|
|
Дата: Июн 30, 2004 12:37:36 vinnie_pooh _l1: sub eax,1 jnz _l1 или нет, так слишком быстро получится... лучше так: _l2: mov eax, [07FFE0000] test eax, eax jnz _l2 :) |
|
|
Дата: Июн 30, 2004 12:46:50 vinnie_pooh mov eax,-1 тогда уж or eax,-1 inc eax |
|
|
Дата: Июн 30, 2004 16:06:33 А вот используя апи ;) push $ call IsBadCodePtr |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.048 |