Shutdown
Este es el código del comando shutdown
en DariOS. Se encarga de apagar el sistema usando la funcionalidad APM (Advanced Power Management) proporcionada por la BIOS.
Propósito
Apagar completamente el sistema desde el sistema operativo utilizando la interrupción del BIOS 0x15
con la función 0x5307
de APM (Advanced Power Management).
Lógica paso a paso
mov ax, 0x5307
- Carga en
AX
la función APM0x5307
, que indica a la BIOS que debe apagar el sistema si el hardware lo soporta.
int 0x15
- Llama a la interrupción BIOS
0x15
, encargada de servicios avanzados del sistema, incluyendo APM. - Si la APM está habilitada y el sistema es compatible, esto apagará físicamente el ordenador.
Nota: Para que esta llamada funcione correctamente, deben haberse realizado previamente otras llamadas APM como conectar con APM y habilitar la gestión de energía. En entornos simples o virtuales puede que no tenga efecto si APM no está soportado. En DariOS no hemos conseguido que funcione pero asi se haría.
Finalizar
ret
- Termina la ejecución del comando y retorna al flujo principal (si el sistema no se apaga, el flujo continuará).