локальные переменные в FASM 1.67.11

Тема в разделе "WASM.BEGINNERS", создана пользователем Andrey Ch, 5 окт 2006.

  1. Andrey Ch

    Andrey Ch New Member

    Публикаций:
    0
    Регистрация:
    11 мар 2003
    Сообщения:
    5
    Адрес:
    Minsk
    Хочу локальные переменные объявить, что то не получается делаю так


    local hwndFound:lol: WORD ; this is what is returned to the caller
    это прошло^^
    local pszNewWindowTitle: times 1024 BYTE 0 ; contains fabricated WindowTitle
    а вот это не работает
    local pszOldWindowTitle: times 1024 BYTE 0 ; contains original WindowTitle

    local formatString:BYTE '%d/%d',0 ; takes a decimal "input" - %d
    также

    local TickCount:lol: WORD
    local CurrentProcessId:lol: WORD

    В чем ошибка?
     
  2. Andrey Ch

    Andrey Ch New Member

    Публикаций:
    0
    Регистрация:
    11 мар 2003
    Сообщения:
    5
    Адрес:
    Minsk
    сам дошел, попробовал вот так и получилось
    local pszNewWindowTitle:rb 1024
    только толку мало, наверно так не обнулит зарезервированное место в стеке...
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Справку по фасму читай.

    Код (Text):
    1. proc test
    2.   local hwndFound:DWORD, hwndNotFound:DWORD
    3.   local pszOldTitle[1024]:BYTE
    4.   locals
    5.     pszTitle rb 1024
    6.     formatString dd ?
    7.   endl
    locals - для определения многих переменных как локальные (но объявления массивов в масм-стиле (pszOldTitle) там не работает).
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Andrey Ch
    Никто за тебя не будет обнулять место, так же, как и копировать туда строку. Это не HLL.
     
  5. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    то есть потратить пять минут и проверить, никак. ;(