Leer comando
Este es el código de la función leer_comando de DariOS

Explicación de la función leer_comando
La función leer_comando se encarga de leer una tecla del teclado. Si es una tecla especial como Backspace (0x08) o Enter (0x0D), llama a la rutina correspondiente. Si no, guarda el carácter en el buffer del shell y lo imprime por pantalla.
Propósito
Leer la entrada del usuario en el shell carácter por carácter y actuar dependiendo de la tecla.
Lógica paso a paso
mov ah, 0
int 0x16
- Espera a que el usuario presione una tecla y guarda el carácter leído en
AL.
cmp al, 0x08
je borrar_caracter
- Si el carácter es Backspace (
0x08), salta a la subrutinaborrar_caracter.
cmp al, 0x0D
je enter_shell
- Si el carácter es Enter (
0x0D), salta a la subrutinaenter_shellpara procesar el comando.
mov [buffer_shell + bx], al
inc bx
- Guarda el carácter leído en el buffer del shell e incrementa el índice
BX.
mov ah, 0x0E
int 0x10
- Imprime el carácter en pantalla usando la interrupción del BIOS
0x10(modo TTY).
ret
- Retorna al programa llamador.
Requisitos
buffer_shelldebe estar definido y tener espacio suficiente.bxdebe usarse como índice de posición dentro del buffer.- Las subrutinas
borrar_caracteryenter_shelldeben existir.