cmp (sub) команда и флаги

Тема в разделе "WASM.ASSEMBLER", создана пользователем lelic, 15 дек 2006.

  1. lelic

    lelic New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2006
    Сообщения:
    2
    Вот вопросик возник :dntknw:, может кто знает.

    Интересует простая команда:

    cmp eax, 5

    В мануале:

    IA32 Intel Architecture
    Software Developer's Manual
    Volume 2A: Instruction Set Reference, A-M

    Сказано:

    CMP
    .....

    Flags Affected:
    The CF; OF; SF; ZF; AF and PE flags are set according to the result.

    Я могу увидеть флаги: SF; AF; PE; CF

    А вот флаг OF (Overflow set) совсем что то не получается.

    Пробовал сравнивать EAX с заведомо большим числом (и прописывать в EAX большое число), таки тот же результат (если число большое, оно конвертится в знаковое с '-').

    Использовал:
    - Windows Visual C++ ( вставка __asm в main() ), дебугер: OllyDbg
    - nasm Linux + gcc ( вызов функции на асм из main() )

    Может кто знает про каких условиях cmp (sub) изменит этот OF флаг???
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Код (Text):
    1.   mov al, 80h
    2.   cmp al, 40h
    http://wasm.ru/article.php?article=carry_overflow
     
  3. lelic

    lelic New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2006
    Сообщения:
    2
    Спасибо, это сработало!