макрос .WHILE

Тема в разделе "WASM.BEGINNERS", создана пользователем KingT, 18 ноя 2006.

  1. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    Почему не хочет работать:
    .while Cycle<=NullEl
    .endw

    тогда как .while Cycle<=1024
    .endw

    и .while Cycle<=ebx
    .endw
    работает?
    NullEl переменная типа DWORD.
     
  2. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Если и Cycle тоже переменная типа DWORD, то потому что на асме нельзя сравнить память с памятью, а только с константой или регистром
    делай типа:
    mov eax, NullEl
    .while Cycle<=eax
     
  3. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    Понял.
    Спасибо.
     
  4. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    А какие регистры задействует макрос WHILE?
     
  5. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Без ведома программера никакие, потому и не может сравнить память с памятью (нет соответсвующей x86 команды)
     
  6. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    а с ведомом программера может что-ли ? :)
     
  7. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    тоесть во время работы while регистры не изменяются?
     
  8. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    KingT
    Ну загляни в отладчик, сам убедишься.
     
  9. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    rain
    есно .while Cycle<=ebx
    задействует (см. формулировку вопроса) регистр ebx :))))
    KingT
    угу и также .IF, .REPEAT, .UNTIL, ... (но не .UNTILCXZ :)
     
  10. Quantum

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

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    KingT
    eflags и eip очень даже меняются ;)