RE:necesito realizar un S.O.
Hacer un sistema operativo es algo muy complicado. No es, estrictamente, un problema en ensamblador (aunque en parte sí). Un SO (típico para un x86) debería como mínimo:
1) Gestionar las interrupciones del sistema.
2) Gestionar la memoria (segmentada/paginada, o quizás otros métodos).
3) Gestionar los procesos (monoproceso/multiproceso)
4) Gestionar los usuarios (monousuario/multiusuario)
5) Gestionar los dispositivos (como mínimo las terminales [teclado y pantalla] y algún sistema de almacenamiento [disquette, disco duro, etc.]
A parte, hay muchas decisiones de diseño que debes tomar: ¿tu sistema operativo será en modo real o protegido? ¿Vas a hacerlo en ensamblador, o quizás en asm y C [en cuyo caso necesitarás un compilador y la librería estándar para tu sistema]? ¿Qué tipo de ejecutables correrán en tu sistema [ELF, COFF, a.out, binarios puros, etc.]? ¿Cómo vas a organizar la memoria [el x86 admite segmentación y paginación por hardware, y ambos sistemas requieren una planificación detallada]?
Lo que quiero decir es que "me gustaría realizar un pequeño SO" es un proyecto muy ambicioso. Para empezar, léete algún libro sobre el tema. Estudia el microprocesador y observa cómo se comporta al arrancar. Estudia los sectores de arranque de los PCs. Si ya tienes idea, echa una mirada al código fuente de algún UNIX libre. O quizás el Minix, que es más simple. También hay en internet un monton de SOs diminutos, alguno a medio hacer. Mira por ahí, y suerte con ello.