Использование знаковых переходов в конструкции .IF <> .ENDIF

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

  1. Araknu

    Araknu Member

    Публикаций:
    0
    Регистрация:
    25 июн 2010
    Сообщения:
    56
    Добрый день.
    Подскажите как указать компилятору MASM32, чтобы он использовал в конструкции .IF <> .ENDIF команды условного перехода для чисел со знаком (по умолчанию используются команды для беззнаковых чисел). Например, вместо JAE -> JGE (если такое, конечно возможно).
    Заранее блогадарю.
     
  2. s_d_f

    s_d_f New Member

    Публикаций:
    0
    Регистрация:
    15 май 2008
    Сообщения:
    342
  3. Dmitry_Milk

    Dmitry_Milk Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    540
    Я использовал CARRY? флаг.
    То есть
    Код (Text):
    1. cmp eax,ebx
    2. .IF CARRY?   ;  unsigned int eax < unsigned int ebx
    3. ...
    4. .ELSE         ; unsigned int eax >= unsigned int ebx
    5. ...
    6. .ENDIF
     
  4. Dmitry_Milk

    Dmitry_Milk Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    540
    тьфу, невнимательно прочитал, оказывается наоборот надо знаковые
    Ну в общем суть таже, только явно указать другие флаги (вроде совокупность CARRY? и OVERFLOW?, если не ошибаюсь)
     
  5. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    .IF SDWORD eax < SDWORD ebx
     
  6. Araknu

    Araknu Member

    Публикаций:
    0
    Регистрация:
    25 июн 2010
    Сообщения:
    56
    Всем спасибо)
    тему можно закрывать