Buenas.
Les cuento que hace un tiempo comencé a aprender asm (assembly) por motivos que me pareció bastante interesante poder decirle a la computadora lo que quería y esta lo hacía sin ningún límite , así que como los sistemas de 32-bit como windows (por cierto tengo win8 de 64bits que no me deja hacer mucho...) y linux estaban limitados quise hacer un programa que corriera al inicio de la computadora, que muestre un mensaje y algo más...
Bueno la cosa es que estuve a full averiguando , imprimiendo manuales completos de asm.. y bueno he aprendido varias cosas pero existen algunos temas que no los entiendo por nada como son La Segmentación que se requiere creo yo en el bootloader y en un kernel ( digo kernel porque queria un bootloader y un archivo ejecutable ). Digo esto debido a que por ejemplo quiero mostrar un mensaje y no lo muestra o lo hace incompleto.
He programado con FASM MASM y NASM pero más me gusta el nasm ya que es multisistema (así se llama creo).
Ya estaba trabajando en un minisistema operativo (resaltando "mini") que muestre un mensaje y pida una o mas teclas y todo funciona a la "perfección" a excepción que no puedo trabajar con 32 bits.
Cuando intento entrar al famoso modo protegido lógicamente no me deja usar interrupciones ya que está "protegido". Al tener este problema investigué y encontré algunos temas (en inglés por cierto) que tengo que escribir directamente en la memoria pero tampoco no me funciona...
Bueno esas son todas mis dudas por el momento.
Lo que quiero hacer en conclusión es un bootloader de 16 bits que lea un kernel.bin y este kernel pase de 16 bits a 32 bits y muestre un mensaje. NADA MÁS
¿Alguien me podría explicar por favor? y disculpen la molestia