[SOLUCIONADO] No funciona mi bootloader !!!!

Iniciado por lucaslopez0000, 24 Junio 2013, 20:02 PM

0 Miembros y 1 Visitante están viendo este tema.

Eternal Idol

#10
Sin duda.

[ORG 0x7C00]

Ademas de lo que ya te dije sobre ejecutar msgTexto, lee la descripcion de la instruccion lods.

http://faydoc.tripod.com/cpu/lodsb.htm


Y despues trata de comprender como es que poniendo esto antes funciona:
Código (asm) [Seleccionar]
push cs
pop ds
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón


lucaslopez0000

echadle una ojeada al codigo de esta URK   http://elektronblog.wordpress.com/2010/08/31/crear-un-boot-loader-para-comenzar-tu-propio-sistema-operativo/

Pone el msgTexto casi al final y hace mov si , msgTexto , lo cual deberia guardar en si la direccion de msgTexto ¿ Entonces por qué a la persona del tutorial le funciona y a mi no ???
Pero por favor no se rian de mis conocimientos basicos de asm y ayudenme.
Muchas gracias
La manera mas simple de solucionar los problemas de windows , los virus , el spyware , la basura de microsoft en general

USA LINUX

Eternal Idol

Lee mi anterior mensaje con atencion. Hay dos problemas fundamentales, tenes mal el ORG y al no saber como funciona la instruccion lodsb te falta darle el valor correspondiente a un registro.

Amen de eso tu main despues de llamar a putstr ejecuta lo que le sigue a continuacion. ¿Y que es eso? Pone un hlt al menos.

El codigo del ejemplo ese que ya publicaste en otro hilo tiene un bucle infinito, por eso nunca retorna de su rutina de escritura de cadena ...
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

lucaslopez0000

#14
Cita de: Eternal Idol 7D en 24 Junio 2013, 22:08 PM
Sin duda.

[ORG 0x7C00]

Ademas de lo que ya te dije sobre ejecutar msgTexto, lee la descripcion de la instruccion lods.

http://faydoc.tripod.com/cpu/lodsb.htm


Y despues trata de comprender como es que poniendo esto antes funciona:
Código (asm) [Seleccionar]
push cs
pop ds


Lo de org fue un error de tipeo , y aunque todavia no he leido la descripcion de lods , ahora me lo leo. Muchisimas gracias !!!
La manera mas simple de solucionar los problemas de windows , los virus , el spyware , la basura de microsoft en general

USA LINUX

lucaslopez0000

#15
Cita de: Eternal Idol 7D en 24 Junio 2013, 22:08 PM
Sin duda.

[ORG 0x7C00]

Ademas de lo que ya te dije sobre ejecutar msgTexto, lee la descripcion de la instruccion lods.

http://faydoc.tripod.com/cpu/lodsb.htm


Y despues trata de comprender como es que poniendo esto antes funciona:
Código (asm) [Seleccionar]
push cs
pop ds


Ya he leido la descripcion de lodsb , pero aun asi volvemos a lo de antes , la persona del tutorial no pone por parte alguna
Código (asm) [Seleccionar]
push cs
pop ds
Y sin embargo su code funciona !!!!!!!!!!!!!!!!!(1000 exclamaciones mas)!!!!!!!!!!!!
La manera mas simple de solucionar los problemas de windows , los virus , el spyware , la basura de microsoft en general

USA LINUX

Eternal Idol

No volvemos a ninguna parte:
AC  LODSB  Load byte at address DS:(E)SI into AL

¿Y que valor tiene DS en tu loader? En el tutorial no esta indefinido (tene en cuenta que ahi ORG es 0).

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

lucaslopez0000

Cita de: Eternal Idol 7D en 24 Junio 2013, 22:56 PM
No volvemos a ninguna parte:
AC  LODSB  Load byte at address DS:(E)SI into AL

¿Y que valor tiene DS en tu loader? En el tutorial no esta indefinido (tene en cuenta que ahi ORG es 0).



Perdonadme por calentaros tanto la cabeza pero me parece que hay un transfondo de algo que no acabo de entender al 100% , tienes razon mejor leere mucho mas de lo que ya he leido. Creo que mi deberia releerme lo de los registros de segmento , ¿ Estoy en lo cierto ? ¿ Y si no que cosas me recomiendas leer para que comprenda el problema de mi código ?
La manera mas simple de solucionar los problemas de windows , los virus , el spyware , la basura de microsoft en general

USA LINUX

Eternal Idol

Si relee eso y como ya te dijo x64Core conseguite algun libro de ensamblador (como por ejemplo el de Charte Ojeda http://www.fcharte.com/Default.asp?libro84-415-2511-5).
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

MCKSys Argentina

Cita de: x64Core en 24 Junio 2013, 22:10 PM
BIOS != MBR/Bootloader  ::)

Y quién ha dicho lo contrario ?

Interesante aquí significa: leelo pues tiene información que podrías encontrar útil (depurar con gdb-IDA en VMWare).

Aparte si depuras el BIOS, puedes mirar fácilmente la carga del MBR...  :P
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."