cmp assembler



Ассемблер команда cmp

Автор Nastya NasNas задал вопрос в разделе Другие языки и технологии

Ассемблер. Команда cmp. и получил лучший ответ

Ответ от
искать нужно полную документацию по intel assembler, например. вот кусок древней:
CMP сравнивает указанное значение с аккумклятором и возвращает результат путем установки CF и ZF. Значения не изменяются.
ZF показывает равенство значений. Если CF не установлен, значит аккумулятор больше, чем указанное значение и наоборот. Кроме того, значение CF инвертируется, когда значения имеют разные знаки или одно из значений "complemented", лень искать перевод.

Ответ от Їебуратор[гуру]
cmp это вычитание то есть sub, с тем отличием, что не воздействует на операнд приемник. CF и OF противоречат друг другу, в том смысле, что OF это переполнение для знаковых, а CF для беззнаковых чисел. Оба примера не имеют смысла, поскольку есть противоречия во флагах. В первом случае CF и OF могут быть равны, но и SF так же будет установлен, так как переполнение будет происходить в положительных числах, во втором случае все наоборот SF обязан быть ноль, поскольку после вычитания получается неотрицательное число, то есть переполнение происходит в отрицательных числах.

Ответ от East RX[гуру]
Для чисел со знаком флаги после выполнения "cmp x, y" интерпретируются так:
если SF != OF, то x < y;
если ZF = 1, то x = y;
если ZF = 0 и SF = OF, то x > y.

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Ассемблер. Команда cmp.
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*