ja van a pensar que soy una ignorante de miercoles!!!
pero hace pila que estoy luchando con esto
y cada vez que hago un cambio me deja de andar.
Y se que es por que no entiendo mucho!
En fin, resumo mi problema.......
Tengo una tarea donde tengo que crear:
- un bootloader.
- un microkernel.
- unas rutinas de atencion a interrupciones
- un disket booteable que contenga todo lo anterior.
1) Cuando escribo el archivo bootloader.asm si bien se como armar las estructuras de las GDT, LDT , IDT etc etc etc no tengo ni la mas palidea idea en que partes del archivo tengo que hacer estas cosas:
times 510-($-$$) db 0
times 1024-($-$$) db 0
times 1536-($-$$) db 0
Es decir yo se que cada sector del disket tiene 512 y que cuando se llena el primer sector hay que poner times 510-($-$$) db 0 seguido de dw 0AA55h
Pero como se bien en que altura del archivo tengo que ir poniendo estos llenados???
2) Al final para crear el disket booteable me quedo todo asi:
bootloader.bin 1538 o sea 4 sectores
kernel.bin 69763 o sea 14 sectores
rutinaX.bin 1 sector
Mi otra duda es como la cantidad de sectores es 19 >18 ..... como tengo que hacer con int 3h para leer con el tema de los cilindros y los head!!
Por que yo hago esto:
EI: juntando mensajes.en el script hago esto:
dd if=/dev/zero of=boot.img bs=512 count=19
dd if=bootloader.bin of=boot.img bs=512 count=4
dd if=kernel.bin of=boot.img bs=512 count=14 seek=4
dd if=keyboard.bin of=boot.img bs=512 count=1 seek=18 conv=sync,notrunc
Saludos