Skip to main content

Clear

Este es el código del comando clear en DariOS. Se encarga de limpiar toda la pantalla y resetear el cursor y el buffer de entrada.

clear


Propósito

Borrar todo el contenido visible de la pantalla y colocar el cursor en la esquina superior izquierda, además de reiniciar el índice del buffer del shell.


Lógica paso a paso

mov ah, 0x06
  • Define la función de scroll hacia arriba de la BIOS (0x06).
mov al, 0
  • 0 indica que se deben limpiar todas las líneas de la ventana de texto.
mov bh, [color_actual]
  • Usa el color actual para rellenar el área borrada.
mov cx, 0x0000
  • Coordenada de inicio del área a borrar: fila 0, columna 0.
mov dx, 0x184F
  • Coordenada final del área a borrar: fila 24, columna 79 (esquina inferior derecha).
int 0x10
  • Llama a la interrupción de video para realizar el scroll (limpieza).

Mover el cursor al inicio

mov ah, 0x02
mov bh, 0x00
mov dh, 0x00
mov dl, 0x00
int 0x10
  • Utiliza la función de BIOS 0x02 para colocar el cursor en la fila 0, columna 0.

Limpiar el buffer

xor bx, bx
  • Reinicia el índice del buffer de entrada (bx = 0).
mov si, 0
call limpiar_buffer
  • Llama a la función limpiar_buffer para borrar los caracteres del buffer.

Finalizar

jmp inicio
  • Regresa al punto de entrada principal del shell.