Start - PabloVillagran/SO1Nino GitHub Wiki

start

Esta es la declaración de una función llamada start en assembler por lo que permitirá que el sistema operativo creado en c pueda ejecutar, por lo que se comienza declarando que realizara un bloqueo de interrupciones para comenzar a signar el puntero para las instrucciones de la pila por lo que se comienza después declarando el llamado del sistema que arrancara por lo que en el caso se coloco kmain y se declaro al principio extern que servirá para referencia para la iniciar la función kmain se encuentra en la ubicación donde esta el boot.asm.

global start

global reboot

global shutdown_success

Por lo que se tiene que declara la mas abajo en el código que se muestra que lo que hace es declara el símbolo que mas adelante el linked.id lo vinculado esta variable.

;por lo que se declara después de mencionarla al principio por lo que servirá de para referencia el menú principal.

start:

    `;función principal`

`cli       ;cambia una bandera interna para el bloqueo de interrupciones`

`mov esp, stack_space ;asigna puntero para pila de instrucciones`

`call kmain ;llama al kernel`

`je shutdown_success`

Como se puede apreciar se comenzo la declaracion del menu en linked.id que sera el que referenciara con el asembler

/*declaración de la variable de start en linked.id, por lo cual servirá para referenciar con asemmbler/

ENTRY(start)

SECTIONS