Limpiar pantalla :SOLUCION, pero hay algo...
Hola Fabian...
Lo 1ero : como tu sabes el XOR es un OR -. exclusivo, es decir : la condición es falsa cuando TODAS ( fíjate que lo pongo en mayuscula) las entradas o datos son o TODAS verdaderas o TODAS falsas. en caso contrario la salida es 1 ( VERDADERA ).
Partiendo de ahi :
1º -> hay que poner en el byte más significativo ( BH ) del registro BX a 0 (por eso lo del XOR).
2º-> En la gran mayoria de los programas,lo más habitual es poner la tabla de datos, en el segmento DS, pero también se pueden poner en el segmento ES ( aunque eso pasa en la gran minoria de programas Assembler ), es decir también poner a 0 el registro DX o EX según sea el caso.
3º -> En el byte de mayor peso del reg. BX o sea, BH se asigna el atributo del caracter (en este caso 7)
4º -> en AL se asigna el caracter en si , logicamente un espacio en blanco : ' '
5º -> en CX asignamos el numero de veces que sea necesario poner el caracter que contiene AL ( si la pantalla es de 80 columnas y 25 lineas ( 80 x 25 = 2000 , si son 50 lineas 4000...) es decir: MOV CX,2000 (o 4000 o las lineas que sean X 80)
6º -> Llamar a la funcion 9 ( asumiendo que programamos en DOS, claro ) que imprime una cadena en pantalla ( DE AHI LO DEL 2º PASO, que en términos de código es XOR DX,DX ) aunque si solo limpias la pantalla en principio no seria necesario, pero de todos modos haz la prueba.
7º -> Dado que se accede al servicio de video (gráficos y texto), se llama a la interrupcion 10H
Espero que te haya servido de ayuda, en caso contrario mandame un mail y te doy el codigo. HAPPY CODING ;-)