Страница 1 из 1

Нужна расшифровка, плиз.

Добавлено: 28 ноя 2007, 21:37
T@uRuS
В программе Ассемблера нашел вот такие строки:

mov eax,12345678 ; вот эта строка яснее снега
х = dword ptr $-4 ; А вот что означает эта строка?

ptr $-4 ; А особенно вот эта запись.

Помогите мне, если есть такая возможность, буду признателен.

Re: Нужна расшифровка, плиз.

Добавлено: 29 ноя 2007, 09:06
somewhere
&quot писал(а):х = dword ptr $-4
Если вы встретили такую строчку, значит это не ассемблер, или хреновый супермегамакроассемблер
Расшифровываю:

Код: Выделить всё

something dd 0
    @thiscode:
mov eax, [@thiscode - 4]
mov x, eax
запись $-4 означает ссылку к данным, смещение которых на 4 байта ниже чем там, где находится команда выполняющая запрос
на примере этого кода фактически в переменную Х попадет значение из переменной something. Поскольку команда mov не может пересылать напрямую из ячейки памяти в другую ячейку, то задействуется любой из регистров, т.е. команды mov mem32, mem32 не существует.