ТЕСТ (инструкция x86) - TEST (x86 instruction)

в язык ассемблера x86, то ТЕСТОВОЕ ЗАДАНИЕ инструкция выполняет побитовое И на двух операнды. В флаги SF, ZF, ПФ изменяются, а результат И отбрасывается. В ИЗ и CF флаги установлены на 0, в то время как AF флаг не определен. Есть 9 разных коды операций для инструкции ТЕСТ в зависимости от типа и размера операнды. Он может сравнивать 8-битные, 16-битные, 32-битные или 64-битные значения. Он также может сравнивать регистры, немедленный ценности и регистрировать косвенный ценности.[1]

Варианты кода операции TEST

Операция TEST устанавливает флаги CF и ИЗ до нуля. В SF установлен на старший бит результата И. Если результат 0, то ZF установлен на 1, в противном случае установите 0. Флаг четности установлен на побитовый XNOR из младший байт результата, 1 если количество единиц в этом байте четное, 0 иначе. Значение AF не определено.

Примеры

; Условный прыжоктестовое задание cl,cl   ; установите ZF в 1, если cl == 0je 0x804f430  ; перейти, если ZF == 1; Условный переход с НЕтестовое задание cl, cl   ; установите ZF в 1, если cl == 0jne 0x804f430  ; перейти, если ZF! = 1; илитестовое задание eax, eax  ; установите SF в 1, если eax <0 (отрицательный)js ошибка ; прыгать, если SF == 1

Рекомендации

  1. ^ «Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32, том 2B: Справочник по набору инструкций, N – Z» (PDF). Получено 2019-12-21.