TEST Тест

Флаги

O D I T S Z A P C
0       * * ? * 0 

Команда:

TEST destination,source 

Логика:

(destination AND source); Только изменение признаков
CF = 0
OF = 0 

Команда TEST выполняет операцию AND над своими операндами и меняет значения признаков. Сами операнды не изменяются.

Операнды Такт байты (слова)ОбращенияБайтыПример
регистр,регистр3- 2TEST AL,DL
регистр,непоср.операнд5 - 3-4TEST CX,0FFh
аккумулятор,непоср.оп.4- 2-3TEST AX,01000010b
регистр,память 9(13)+EA12-4TEST CX,MASK
память,непоср.операнд 11+EA - 3-6TEST GAMMA,01h

Команда TEST полезна при проверке значения конкретного бита. Например, следующий кусок программы передает управление в ONE_FIVE_OFF, если биты 1 и 5 регистра AL сброшены. Значения остальных битов во внимание не принимаются.

         TEST      AL,00100010b  	;Маскируем все биты, кроме 1 и 5
         JZ        ONE_FIVE_OFF  	;Если хотя бы один установлен,
                                 		;то ZF=1
         NOT_BOTH:       			.
                         			.
         ONE_FIVE_OFF:                 	;Биты 1 и 5 сброшены
                        			 .
                        			.
Hosted by uCoz