elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Modo protegido, dolor de cabeza
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 Ir Abajo Respuesta Imprimir
Autor Tema: Modo protegido, dolor de cabeza  (Leído 17,992 veces)
lweb20

Desconectado Desconectado

Mensajes: 43



Ver Perfil WWW
Re: Modo protegido, dolor de cabeza
« Respuesta #20 en: 4 Marzo 2013, 17:17 pm »

Eternal:

Me sale este error en el VS:

1>user.cpp(39): error C2094: la etiqueta 'eip' no estaba definida

Y los archivos que contienen el código asm no contienen las direcciones de memoria.

Mas cuando obtengo la dirección de la función y pongo un breakpoint con el bochs "b 0xC0004330" (enter) y luego pongo c (enter) y la palabra reiniciar en mi commandline (enter) no se detiene.

EDIT:

¿Está bien usarlo de esta forma?:

long mem;

_asm mov eax, eip
_asm mov mem, eax


« Última modificación: 4 Marzo 2013, 17:21 pm por lweb20 » En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Modo protegido, dolor de cabeza
« Respuesta #21 en: 4 Marzo 2013, 17:26 pm »

EIP es un registro, deberias verlo en el depurador, en el codig no podes usar mov (podes usar lea o hacer una llamadita):

http://stackoverflow.com/questions/4062403/how-to-check-the-eip-value-with-assembly-language

Igual si estas generando el Kernel con VC++ entonces hacete un favor y hace una version de depuracion (/Zi para el compilador /DEBUG para el depurador creo que era, fijate en Google o MSDN) o al menos genera los simbolos (.PDB), despues podes cargar en el WinDbg tu Kernel (con la opcion de carga dump) y con X ver todas las direcciones (son relativas a la base donde fue cargada asi que despues simplemente la sustraes y le sumas la base donde cargaste el Kernel).


En línea

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
~

Desconectado Desconectado

Mensajes: 85


Ver Perfil WWW
Re: Modo protegido, dolor de cabeza
« Respuesta #22 en: 4 Marzo 2013, 17:34 pm »

Mmm. Amigo no lo tomes a mal, pero sobre el modo usuario sólo es una alternativa para aislar las aplicaciones normales del kernel. No estoy TAN (!) obsesionado con eso. Sé lo que me dices. Llevo meses con ese kernel y he estudiado la FAT como tu.
El hecho es que un modo usuario es más estorbo que algo de valor si no se acompaña de una buena multitarea, paginación, administración de memoria y permisos bien definidos, tanto de memoria, de software, como de puertos I/O.

Estoy intentando iniciar una discusión que pueda ayudarnos a todos. Quiero publicar código y discutir estándares. Está garantizado aprender más que los principiantes de OSDev de esta forma, dado que ni ahí se discute tan plenamente como estoy planteando. Hacer preguntas aisladas como las de estos errores jamás ha ayudado a un principiante. Cientos de principiantes con dudas más y menos complejas no han llegado a ningún lugar de esa forma, y simplemente han dejado de preguntar, uno y otro, y otro.

Este tema podría mantenerse vivo por años si se discute más que esos simples errores de dedo (yo también quiero divertirme ayudando sobre sistemas operativos que es una de las cosas que más me interesan, aprendiendo y haciendo que esto sea cada vez más fácil, con ayuda entre todos).

De lo contrario, si no hay interés en discutir a mayor nivel, puedo garantizar que este tema y el kernel del que hablamos no podrían normalmente durar ni 6 meses más, y mucho menos avanzar el código y el conocimiento de forma notable.





Si solamente son meses los que tiene el kernel pero sin ninguna otra base de experiencia anterior, es natural ver las cosas tan simplemente. Pero no es suficiente ni de cerca.

Yo tengo casi una década tratando de estudiar sobre sistemas operativos, y solo recientemente es que he comenzado realmente a poder desenvolverme y entender en todos los requerimientos, de forma más completa. Y los tutoriales y foros (OSDev, OSDever, Wikipedia, BrokenThorn, el tutorial de JamesM, y el resto de conocidos), no tienen suficiente información (solo hace falta buscar "¿qué efecto tiene cada registro de la VGA y cómo se programa?" para darse cuenta que la mejor información no está tan pública, y sin eso no se llega a ningún lado).

El hecho no es que haya estudiado la FAT. Yo entiendo la FAT12 hasta el nivel de leer el directorio raíz. ¿Este kernel actual tiene más capacidad que eso? Desde ahí se puede aprender mucho más.
En línea

Donar con PayPal para que siga trabajando:
https://www.ebay.com/usr/udocproject3

Streams en vivo de programación:
PC 1 - PC 2

http://www.youtube.com/@AltComp126/streams
lweb20

Desconectado Desconectado

Mensajes: 43



Ver Perfil WWW
Re: Modo protegido, dolor de cabeza
« Respuesta #23 en: 4 Marzo 2013, 17:38 pm »

Ok gracias, suficiente por ahora. Más tarde continúo. Ahora lo extraño es que me parece* que tengo la dirección de memoria pero nunca se detiene (*me parece).

Más tarde o sino mañana hago pruebas y leo lo que me dices.

En cuanto a "~" admiro tu interés pero el modo usuario es útil. ¿Acaso crees que Windows sin modo usuario seguiría vivo? resultados: discos quemados (jeje), Microsoft hackeada, etc.

Edito:
- No planeo usar modo usuario hasta, como dices, dejar todo bien configurado.

Citar
El hecho no es que haya estudiado la FAT. Yo entiendo la FAT12 hasta el nivel de leer el directorio raíz. ¿Este kernel actual tiene más capacidad que eso? Desde ahí se puede aprender mucho más.
- El kernel tiene más que eso.

¿Haz revisado mi penúltimo post?
« Última modificación: 4 Marzo 2013, 17:41 pm por lweb20 » En línea

~

Desconectado Desconectado

Mensajes: 85


Ver Perfil WWW
Re: Modo protegido, dolor de cabeza
« Respuesta #24 en: 4 Marzo 2013, 17:44 pm »

Ok gracias, suficiente por ahora. Más tarde continúo. Ahora lo extraño es que me parece* que tengo la dirección de memoria pero nunca se detiene (*me parece).

Más tarde o sino mañana hago pruebas y leo lo que me dices.

En cuanto a "~" admiro tu interés pero el modo usuario es útil. ¿Acaso crees que Windows sin modo usuario seguiría vivo? resultados: discos quemados (jeje), Microsoft hackeada, etc.

Edito:no planeo usar modo usuario hasta, como dices, dejar todo bien configurado.
El modo usuario es útil y necesario, pero no es lógico usarlo si no se acompaña de todo lo que realmente lo hace útil (memoria virtual, multitareas, )

Así que, dado que necesito entender primero el hardware de forma intrincada y que nedie más usa el sistema (es monotarea), lo mejor es comenzar en modo kernel puro, y desde ahí aprender.

El enfoque de tratar de implementar el modo usuario y después agregar código más complicado de kernel ya me ha fallado antes, y me ha hecho perder tiempo en reescribir código insostenible (todo el kernel se vuelve insostenible).

Ahora tengo mejores resultados porque voy desde el nivel más bajo, desde lo que realmente necesito para reemplazar a DOS, y desde ahí, cuando esté listo, voy a agregar el modo usuario (la misma progresión de DOS hasta Windows 3, Windows 9x y Windows NT).

Por lo menos este es mi estilo porque me doy tiempo de entender y no puedo equivocarme ni desperdiciar código si me baso en progresos simples pero comprobadamente correctos.
En línea

Donar con PayPal para que siga trabajando:
https://www.ebay.com/usr/udocproject3

Streams en vivo de programación:
PC 1 - PC 2

http://www.youtube.com/@AltComp126/streams
lweb20

Desconectado Desconectado

Mensajes: 43



Ver Perfil WWW
Re: Modo protegido, dolor de cabeza
« Respuesta #25 en: 4 Marzo 2013, 17:47 pm »

pm.

Edito:

Tengo implementado el GDT, IDT, PIC, PIT (lo básico). De ahí deriva los controladores de excepciones. Sistema multipantalla (yo lo inventé :P). Orientado a objetos.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Modo protegido, dolor de cabeza
« Respuesta #26 en: 4 Marzo 2013, 17:50 pm »

Gracias, tratemos de no desviar el tema, como ya dije antes este no es el foro idoneo para desarrollo de Kernels o S.O., asi que por favor tratemos de centrarnos en las dudas concretas que se plantean.

Para publicar codigo, discutir standards y demas ya se citaron varios foros incluyendo el de uno de los usuarios que participa en el hilo.
En línea

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
lweb20

Desconectado Desconectado

Mensajes: 43



Ver Perfil WWW
Re: Modo protegido, dolor de cabeza
« Respuesta #27 en: 4 Marzo 2013, 17:52 pm »

Gracias, tratemos de no desviar el tema, como ya dije antes este no es el foro idoneo para desarrollo de Kernels o S.O., asi que por favor tratemos de centrarnos en las dudas concretas que se plantean.

Para publicar codigo, discutir standards y demas ya se citaron varios foros incluyendo el de uno de los usuarios que participa en el hilo.

Exacto. Ese es el problema de este foro. Pero está muy bien así ya que está más ordenado.
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Modo protegido, dolor de cabeza
« Respuesta #28 en: 4 Marzo 2013, 19:38 pm »

Disculpen pero tengo una pregunta razonable, @lweb20:
Como pensas crear ya sea un kernel o SO si nisiquiera sabes como programar en C/C++ y resolver problemas depurando?
me refiero a que para programar tal cosa no solo se necesita un nivel basico del conjunto de instrucciones y de C/C++.
Creo que primero se empieza con un calculadora no ? Bueno es solo pregunta.
En línea

lweb20

Desconectado Desconectado

Mensajes: 43



Ver Perfil WWW
Re: Modo protegido, dolor de cabeza
« Respuesta #29 en: 4 Marzo 2013, 19:41 pm »

Disculpen pero tengo una pregunta razonable, @lweb20:
Como pensas crear ya sea un kernel o SO si nisiquiera sabes como programar en C/C++ y resolver problemas depurando?
me refiero a que para programar tal cosa no solo se necesita un nivel basico del conjunto de instrucciones y de C/C++.
Creo que primero se empieza con un calculadora no ? Bueno es solo pregunta.


Sí sé programar en C pero obviamente no lo sé todo.
En línea

Páginas: 1 2 [3] 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dolor de cabeza
Multimedia
FernandoFackty 9 4,030 Último mensaje 25 Agosto 2006, 01:14 am
por Songoku
dolor de cabeza linux
GNU/Linux
Roboto 5 4,499 Último mensaje 12 Noviembre 2010, 22:47 pm
por Roboto
android sdk me causa dolor de cabeza...
Android
Kase 2 4,987 Último mensaje 30 Junio 2011, 05:38 am
por seba123neo
Gif en Internet Explorer... dolor de cabeza
Desarrollo Web
dimitrix 6 5,073 Último mensaje 27 Septiembre 2011, 21:47 pm
por dark_sargon
Detectar amenazas dejará de ser un dolor de cabeza en la G Suite #GoogleNext18
Noticias
wolfbcn 0 720 Último mensaje 26 Julio 2018, 02:05 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines