2010-01-20 8 views

Respuesta

1

antes de ingresar al controlador de interrupciones, todos los registros se envían a la pila junto con la dirección de retorno, suma los registros y agrega el espacio necesario para almacenar la dirección de devolución para obtener el tamaño de pila mínimo.

tomar en cuenta que necesitará un poco más de espacio si usted está empujando más datos en la pila mientras que en el manejador de interrupciones

0

me he dado cuenta que si está utilizando int 0x13 usted debe tener una pila que es al menos 4096 bytes. Las BIOS modernas a menudo tienen un controlador int 0x38 compatible con AHCI, y como AHCI es bastante complicado, el BIOS int 0x13 requiere mucho espacio en la pila.

En el mundo perfecto, el BIOS debe tener su propia pila, pero muchos BIOS dependen de la pila que proporcione.

0

La respuesta simple es que la pila que el BIOS utilizó para realizar llamadas de interrupción (incluido el int 13h para cargar el sector de arranque desde la unidad flash USB) antes de cargar el sector de arranque es suficiente para el uso del sector de arranque.

La respuesta felices es que las interrupciones de la BIOS (excepto para el PCI hinchada más reciente) están diseñados para ejecutar en un espacio mínimo lo que no hay necesidad de configurar una pila en el sector de arranque.

Cuestiones relacionadas