Инкремент, не работает флаг переполнения - Assembler

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Буду краток. Есть код:
Листинг программы
  1. mov eax, 0ffffffffh
  2. inc eax
  3. jo exit
В отладчике наблюдаю что флаг OF не выставляется. Хотя в документации написано:

The CF flag is not affected. The OF, SF, ZF, AF , and PF flags are set according to the result.

Т.е. флаг OF должен выставляться. Объясните что я делаю не так. Заранее благодарен.

Решение задачи: «Инкремент, не работает флаг переполнения»

textual
Листинг программы
  1.   mov edx,100
  2. @@rep:
  3.   . . .
  4.   clc/stc/cmc/cmp...
  5.   . . .
  6.   dec edx
  7.   ja @@rep  ; повторяем, пока EDX > 0 и CF=0

Объяснение кода листинга программы

  1. Устанавливается значение переменной edx равным 100.
  2. Создается метка @@rep.
  3. Выполняется некоторый код (обозначенный как ...) внутри цикла.
  4. Используется одна из инструкций clc, stc, cmc, cmp для установки флагов состояния процессора.
  5. Выполняется инструкция dec edx, которая уменьшает значение переменной edx на 1.
  6. Проверяется условие: значение переменной edx больше нуля и флаг переноса (CF) равен 0.
  7. Если условие выполняется, то происходит переход на метку @@rep и код внутри цикла выполняется снова.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут