Domingo 19 de Mayo de 2013, 23:57
Publicidad
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
#solocodigo
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
mi primer bootloader - orientacion
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: mi primer bootloader - orientacion (Leído 476 veces)
Seraph
Nuevo Miembro
Mensajes: 5
mi primer bootloader - orientacion
«
en:
Martes 24 de Mayo de 2011, 20:47 »
0
Publicidad
Hola que tal, me estoy iniciando en el mundo de ASM y los sistemas operativos, estuve leyendo por internet y digamos que escribí este bootloader en base a varios ejemplos de internet, al parecer todo esta correcto, si imprime la cadena etc. ahora tengo la duda de por donde continuar, me gustaría crear un mini kernel que imprima alguna cadena, pero este no es el problema porque ya lo tengo hecho, el detalle es que no se cómo saltar del bootloader al kernel. Por ahora tengo los dos archivos independientes bootloader.bin y kernel.bin
Les dejo el codigo del bootloader.bin (cualquier consejo por favor decirme):
Código: ASM
BITS
16
inicio
:
mov
ax
,
07C0h
add
ax
,
288
mov
ss
,
ax
mov
sp
,
4096
mov
ax
,
07C0h
mov
ds
,
ax
mov
si
,
cadena_texto
call
imprimir_cadena
jmp
$
cadena_texto
db
'Mi primer bootloader!'
,
0
imprimir_cadena
:
mov
ah
,
0Eh
.
repetir
:
lodsb
cmp
al
,
0
je
.
terminar
int
10h
jmp
.
repetir
.
terminar
:
ret
times
510
-
(
$
-
$$
)
db
0
dw
0xAA55
Estoy usando NASM y Qemu, sobre window XP, desde ya les agradezco.
...
Tweet
Enko
Miembro de PLATA
Mensajes: 1562
Nacionalidad:
Re: mi primer bootloader - orientacion
«
Respuesta #1 en:
Sábado 18 de Junio de 2011, 23:51 »
0
busca info sobre la interupcion 13 (int 0x13)
Es la que lee bloques de datos desde el disquet y los carga a la memoria.
Una vez cargado a la memoria el kernel, saltas hacia la direccion donde cargaste el kernel.
Servicio tecnico, Reparacion de Blackberry, Nokia, Motorola, LG, Samsung, Sony Ericsson, Alcatel, Iphone, HTC.
http://www.serviciotecnicocelular.com
Seraph
Nuevo Miembro
Mensajes: 5
Re: mi primer bootloader - orientacion
«
Respuesta #2 en:
Martes 21 de Junio de 2011, 01:46 »
0
Hola, que tal, creí que ya no estaba activa esta parte del foro. gracias por responder, estuve leyendo y probando algunos códigos que encontré por la red y he logrado crear el sector de arranque del disquete que lo que hace es recorrer la raíz del FAT12(disquete) y buscar el archivo KERNEL.BIN, ya lo lee y todo, seguí leyendo y al parecer lo siguiente es pasar a modo protegido pero la verdad que no tengo ni idea, a parte que por lo que leí, al pasar a modo protegido tienes que crear tus propios drivers de video, teclado etc., alguna ¿orientación al respecto?.
Enko
Miembro de PLATA
Mensajes: 1562
Nacionalidad:
Re: mi primer bootloader - orientacion
«
Respuesta #3 en:
Martes 21 de Junio de 2011, 06:31 »
0
Ultimamente esta parte del foro se ve inactiva. Yo entro muy de vez en cuando.
La PC arranca en modo REAL. 16 bit, con sus limitaciones. Pero la BIOS corre en modo REAL, por ende, estando en modo REAL tienes acceso a todas las interrupciones de la BIOS.
El modo PROTEGIDO, 32 bit, en el que corren la mayoria de los SO, tiene un monton de ventajas, multihilo, direcciona 4gb de memoria, distintos niveles de privilegios etc....
Para una buena explicacion, no hay nada mejor que leer
intel x86 architecture manual
Estan en la pagina de INTEL.
Lo que si ocurre, es que las interrupciones de la BIOS ya no sirven, porque estas ulitmas solo funcionan en modo REAL.
Asi que la parte de armar tus propios drivers, en si es cierto, pero no te creas que en un driver de teclado es dificil de hacer, es tan solo comunicarte con el dispositivo usando IN/OUT.
Y para la salida en pantalla, es tan solo modificar una matriz de 80x25 que se encuentra en el espacio de memoria de video. Estando en modo texto claro.
una buen lugar para que busques referecias, es osdev.org.
Saludos.
Servicio tecnico, Reparacion de Blackberry, Nokia, Motorola, LG, Samsung, Sony Ericsson, Alcatel, Iphone, HTC.
http://www.serviciotecnicocelular.com
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
mi primer bootloader - orientacion