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