"$" или что к чему...

Тема в разделе "WASM.BEGINNERS", создана пользователем Thread, 1 авг 2005.

Статус темы:
Закрыта.
  1. Thread

    Thread New Member

    Публикаций:
    0
    Регистрация:
    12 июл 2005
    Сообщения:
    26
    Адрес:
    Ukraine
    Люди, я понимаю, бред, но вопрос задаю от безисходности... Если честно, ужасно стыдно спрашивать..



    Что означает инструкция типа lalala equ $-4?

    Точнее, c equ я знаком оч. хорошо.. в тупик поставило $-4.

    Втречал $+5, $-3..



    Искал в инете - результ ноль...



    В справочнике комманд, директив и пр. тож нефига (а может просто справочники такие...)



    Огромная просьба у наших умельцев- объясните по русски, что такое "$" и цифра после нее...

    и +/- ... если это не действия, то что..?

    Заранее спасибо...

    Очень стыдно за подобный вопрос...
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Это адрес тукущей инструкции / ячейки памяти. Например:
    Код (Text):
    1. metka1 db 1,2,3
    2. metka1_len equ $ - metka1


    metka1_len будет равно 3. Ещё пример:
    Код (Text):
    1. jmp $


    Это всё равно что
    Код (Text):
    1. metka2: jmp metka2


    т.е. это бесконечный цикл.
     
  3. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    На всякий случай уточнение: вышесказанное справедливо для masm

    В fasm для достиженеия такого же результата лучше использовать "=" вместо EQU.
    Код (Text):
    1. metka1 db 1,2,3
    2. metka1_len = $ - metka1  ; metka1_len присваисается ЧИСЛО, равное текущему адресу минус metka1
    3.  
    4. ; здесь разные команды
    5.  
    6. mov eax, metka1_len      ; получим mov eax, 3
    но:
    Код (Text):
    1. metka1 db 1,2,3
    2. metka1_len equ $ - metka1  ; metka1_len присваисается ТЕКСТ "$ - metka1"
    3.  
    4. ; здесь разные команды
    5.  
    6. mov eax, metka1_len      ; эквивалентоно mov eax, $ - metka1
    7.                          ; где $ равно адресу команды mov eax
     
  4. Thread

    Thread New Member

    Публикаций:
    0
    Регистрация:
    12 июл 2005
    Сообщения:
    26
    Адрес:
    Ukraine
    Пасиб вам огромное! :)

    смело закрываю топ
     
Статус темы:
Закрыта.