masm синтаксис..

Тема в разделе "WASM.BEGINNERS", создана пользователем mesc, 21 июл 2006.

  1. mesc

    mesc New Member

    Публикаций:
    0
    Регистрация:
    31 май 2006
    Сообщения:
    4
    Столкнулся с проблемой, у кого-то в исходнике увидел что-то типа

    Код (Text):
    1. Someproc PROC
    2. LOCAL Var[100]:BYTE
    3. ....
    4. Someproc ENDP
    при попытке инициализировать этот же массив байтов вне процедуры получил ругань компилятора, пробовал без LOCAL, и так и эдак... ну никак вообщем

    вопрос, собственно - как указать подобный массив вне процедуры, и вообще где можно почитать о подобных штуках, мануал по синтаксису может есть или че?
    Огромное спасибо!
     
  2. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    .data?
    var db 100 dup (?)
    или что-то в этом роде
    на сайте, в гугле, и наконец в дистр масма:)))
     
  3. Quantum

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

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Этот массив локален, на что, собственно, и намекает макро-директива LOCAL. Локальные переменные, по определению, существуют только в пределах своей процедуры. Эти переменные создаются при вызове процедуры и уничтожаются, когда процедура возвращает управление. В ассемблере, конечно, можно нарушить практически любое правило ЯВУ и проинициализировать локальную переменную вне её процедуры тоже можно, но логичнее использовать для этого глобальные переменные, как предложил nobodyzzz.