Это аналог команды AND, но результат логического умножения никуда не записывается. Главное в команде TEST - установка флагов. Как уже было сказано, в логических командах интерес представляет только флаг нуля ZF. Так вот, он равен 1, если в результате логического умножения получился нулевой ответ, и равен 0, если в ответе есть хотя бы одна двоичная 1.
Примеры:
MOV BH,1100b
TEST BH,0011b ;= 00000000b -> ZF=1
TEST BH,1010b ;= 00001000b -> ZF=0
Команда TEST обычно применяется для проверки, являются ли нулевыми какие-то разряды операнда. Например, сделать переход на метку L в случае, если правые три бита регистра АХ нулевые, можно так:
TEST AX,111b
JZ L