Адреса локальных переменных

Тема в разделе "WASM.BEGINNERS", создана пользователем Kirow, 2 янв 2011.

  1. Kirow

    Kirow New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2010
    Сообщения:
    24
    Есть у меня функция, которая принимает 3 адреса ( не важно что она делает внутри делает)
    функция работает правильно если передавать ей глобальные переменные
    Есть другая функция, которая внутри себя вызывает предыдущую, но один параметр нужно передать не глобальный,а локальный.
    как правильно задать?
    Вот как в случае с глобальными переменными:
    Код (Text):
    1. invoke QueueEnter,OFFSET Queue,OFFSET Value,OFFSET VectorFree
    При вызове из функции

    Код (Text):
    1. Func proc
    2.           LOCAL Variable     :DWORD
    3.           mov Variable,1
    4.           invoke QueueEnter,OFFSET Queue, ...... , OFFSET VectorFree ; что тут передать чтобы
    5. ;использовалось локальная переменная Variable аналогично как если бы мы указали адрес
    6. ;глобальной
    Вот еще пример.
    Код (Text):
    1. Func proc
    2.           LOCAL Variable     :DWORD
    3.           LOCAL      buf[32]       :BYTE
    4.           mov Variable,1
    5.           invoke dwtoa,Variable, ...... ;что тут указать чтобы использовался локальный буфер?
    6.           print ..........
    Если использовать глобальный буффер, к примеру BUFFER BYTE 32 DUP(0), то при OFFSET BUFFER на месте точек, можно получить вывод на экран нужного числа.
    В теории не силен, учился по исходникам.
    так что тапками не кидать, если решение проблемы простое.
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    посмотрите, как устроены макросы, и подумайте сами...
     
  3. Kirow

    Kirow New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2010
    Сообщения:
    24
    блин как я люблю такие ответы..."подумайте сами".
    хотел бы "подумать сам" я бы не писал нигде эти вопросы.
    "подумать" забирает время, времени нет.
    Зачем тратить часы времени в поисках ответа, если есть люди которые за минуту могут (но не каждый хочет) наставить на путь истинный.

    Короче сам спросил - сам ответил.
    Необходимо использовать ADDR вместо OFFSET