· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.HEAP —› обнулить EAX

. 1 . 2 . 3 . >>

Посл.отвђт Сообщен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

ну раз тут решили поюморить :)
http://z0mbie.host.sk/21zero.html


Дата: Июн 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:42

mov edx,ds
lsl eax,edx
inc eax


Дата: Июн 30, 2004 12:04:00 · Поправил: vinnie_pooh

		mov	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

. 1 . 2 . 3 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.048