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

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

<< . 1 . 2 . 3 . >>

Посл.отвђт Сообщенiе


Дата: Июн 30, 2004 16:37:22 · Поправил: R4DX

Вот схема машины Тьюринга, получающей первый 0 на ленте:
*Aw
A - сканирует ленту (вправо) до первого 0ля
---------------------
| A | x1 | x2 |
---------------------
| 0 |0Sx2 | |
| 1 |1Rx1 | |
---------------------

Соответственно берем исходники программного эмулятора машины Тьюринга и делаем ф-ию, которая возвращает текущее значение на ленте и вызываем ее после ф-ии А...

:)))

А вот еще:
clc
db 0D6h ; salc
movzx eax, al


Дата: Июн 30, 2004 16:59:44

R4DX
тогда уж лучше так (особенно если на С):
IsBadCodePtr(IsBadCodePtr);

или даже так:
while (GetTickCount());


Дата: Июн 30, 2004 17:29:53 · Поправил: Black_mirror

while (GetTickCount());
Остальные способы отдыхают 8)

Хотя вот еще аналог:
while(rand());


Дата: Июн 30, 2004 17:33:59 · Поправил: jekyll

а может так:
  POINT pt;
  while(GetCursorPos(&pt));
 


Дата: Июн 30, 2004 17:39:18

jekyll
По-моему, так работать не будет. Скорее уж
GetCursorPos(NULL);


Дата: Июн 30, 2004 18:17:35 · Поправил: R4DX

RobinFood

или даже так:
while (GetTickCount());

гы-гы... :))) а можно еще так, раз уж о времени зашел разговор (если у тебя нет планов на неделю :))):
.data
st1 SYTEMTIME <>
...
lea esi, st1
assume esi: PTR SYSTEMTIME
inc [esi].wDayOfWeek
.while([esi].wDayOfWeek)
push esi
call GetLocalTime
.endw
mov ax, [esi].wDayOfWeek
movzx eax, ax


Дата: Июн 30, 2004 18:23:00

а вот в стихах:
	mov	eax,edx
	add	eax,16
	sub	eax,edx
	xor	eax,16


Дата: Июн 30, 2004 18:36:11 · Поправил: RobinFood

R4DX
По-моему, твой вариант с GetLocalTime не сработает. В MSDN написано, что он возвращает NULL, а в kernel32.dll "написано"
...
mov [eax+0xE], cx
leave
retn 4

Надеюсь, ты еще не забыл, какой регистр мы обнуляем? ;)

GetModuleHandle(GetModuleHandle);


Дата: Июн 30, 2004 18:58:25

а вот еще метод:
push cs
pop ax
cwde
lsl eax, eax
inc eax

или вот:

mov ecx, eax
neg ecx
add eax, ecx


Дата: Июн 30, 2004 18:58:39

ALL

Вот вы все сами об этом и пожалеете :)
Когда столкнетесь с защитой, записывающей ноль в регистр таким макаром :) А если учесть, что так можно писать не только ноль, то... :)))


Дата: Июн 30, 2004 19:01:18 · Поправил: R4DX

RobinFood
8) Это я забыл сделать в конце mov eax, [esi].wDayOfWeek...

А при чем здесь то, что возвращает GetLocalTime? Я смотрю на буффер, который он заполняет. wDayOfWeek=0=Sunday ;)


Дата: Июн 30, 2004 19:10:16

volodya
Так будет только интересней :]


Дата: Июн 30, 2004 20:09:20

LockResource(0);

вернёт NULL ;-)


Дата: Июл 1, 2004 02:36:16

call GetCurrentProcess
xor eax, INVALID_HANDLE_VALUE

или так
call GetCurrentThread
inc eax
inc eax

volodya
А пусть пользуются на здоровье:
while (GetDC(GetDesktopWindow()));

:)))


Дата: Июл 1, 2004 02:59:41

kaspersky

Оптимизирующий компилятор загнет нафиг все пустые функции, так что не прокатит.

all

Можно еще циклом :)
dec eax
jnz $-1

Или через OpenGL:
wglMakeCurrent(GetDC(GetDesktopWindow()),wglCreateContext(GetDC(GetDes ktopWindow()));
(на desktop контекст напрямую не войдет :)))

<< . 1 . 2 . 3 . >>


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