A solução típica com máquinas de 8 bits era que a ALU produziria um número de bits 'flag' que representariam o resultado da operação mais recente. Embora seja possível ter qualquer número de bits de flag ao redor (por exemplo, você pode ter um flag 'Z' para cada registro em sua CPU), geralmente é o que você acabou de calcular que mais interessa, então faz certo sentido fazer dessa maneira.
Algumas dessas CPUs antigas definiam automaticamente os bits de flag para quase todas as movimentações de dados, enquanto outras exigiam que você ficasse uma instrução específica de 'comparação' no seu código, se de repente você precisasse saber se um determinado registro era zero. E se você fornece uma verificação zero para cada registro ou apenas para o que acabou de ser calculado, realmente não há maneira mais simples de verificar "essa palavra é zero" do que apenas OU todos os bits juntos.