Если вам просто нужно посмотреть, есть ли в AH бит 0, сравните его с 0xFF. Если сравнение не равно, то есть хотя бы один 0 бит. То же самое с другими регистрами.
Если вы действительно хотите найти первый бит 0, вы можете сделать это с несколькими сменами. Или вы можете использовать инструкцию BSF (при условии сборки 80386), хотя вам нужно будет отменить операнд и найти первый установленный бит.
Наконец, есть альтернатива использованию нескольких смен, если вы не можете использовать BSF. Я думаю, что Bit Twiddling Hacks имеет пример. Это будет в C, но преобразование в сборку не должно быть слишком сложным.
Изменить, после вашей информации:
Итак, вы хотите увидеть, содержит ли верхний полубайт каждого регистра хотя бы один бит 0? И вы не хотите изменять регистры, которые содержат значения.
mov cx, ax
and cx, 0xF0F0 ; this clears the low nibbles so you don't have to worry about them
xor cx, 0xF0F0 ; CX will be non-zero if there were bits set in the high nibbles
jz NoZeros
; Here you'll need to check CH and CL individually to see if they're both non-zero