Erro "operandos não coincidem: registrador de 16 e 8 bits" na linguagem assembly

Estou tentando pegar uma entrada de número do usuário e imprimir estrelas iguais a esse número ...

mov ah, 1h
int 21h
mov dl, '*'
mov cx,al
mov ah,2h

l1:
int 21h
loop l1

Mas estou recebendo o seguinte erro ...

(4) wrong parameters: MOV  cx,al
(4) operands do not match: 16 bit and 8 bit register