Por que as instruções x86-64 em registros de 32 bits zeram a parte superior do registro completo de 64 bits?

NoTour do x86-64 dos Manuais da Intel, Eu leio

Talvez o fato mais surpreendente seja que uma instrução comoMOV EAX, EBX zera automaticamente 32 bits superiores deRAX registo.

A documentação da Intel (3.4.1.1 Registros de Finalidade Geral no Modo de 64 Bits na Arquitetura Básica Manual) citada na mesma fonte nos diz:

Operandos de 64 bits geram um resultado de 64 bits no registro de finalidade geral de destino.Operandos de 32 bits geram um resultado de 32 bits, estendido de zero a um resultado de 64 bits no registro de finalidade geral de destino.Os operandos de 8 e 16 bits geram um resultado de 8 ou 16 bits. Os 56 bits superiores ou 48 bits (respectivamente) do registrador de propósito geral de destino não são modificados pela operação. Se o resultado de uma operação de 8 ou 16 bits for destinado ao cálculo de endereço de 64 bits, estenda explicitamente o registro para os 64 bits completos.

Na montagem x86-32 e x86-64, instruções de 16 bits, como

mov ax, bx

não mostre esse tipo de comportamento "estranho" que a palavra superior de eax é zerada.

Assim: qual a razão pela qual esse comportamento foi introduzido? À primeira vista, parece ilógico (mas a razão pode ser que estou acostumado com as peculiaridades da montagem x86-32).