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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Assembly sin SO ¿?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Assembly sin SO ¿?  (Leído 12,984 veces)
dac

Desconectado Desconectado

Mensajes: 94



Ver Perfil WWW
Assembly sin SO ¿?
« en: 1 Julio 2012, 18:27 pm »

Hola a todos!

He estado estudiando el lenguaje assembly, pero la mayoría de los textos definen entre programación windows (DOS más especificamente) y Unix, Unix-like, pero lo que a mi me interesa realmente es aprender/entender el funcionamiento interno/básico de una computadora por lo cual me resulta insatisfactorio mostrar una cadena por pantalla haciendo uso de una interrupción o syscall al kerndel del SO local  :-\ ... me gustaría me recomendaran o me contaran algo al respecto de la programación sin depender del SO, como se maneja el "video" (aun no tengo remota idea de como funciona), teclado, etc,etc... uds me entienden.. quiero saber como funciona..  ;-)

PD: me refiero a algo como esto  http://mikeos.berlios.de/   (no sé lo suficiente como para intentar entender esto)  :-[

Saludos! y gracias!


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Assembly sin SO ¿?
« Respuesta #1 en: 2 Julio 2012, 12:20 pm »

vos queres saber quiza architectura de la PC, aunque en los libros viejos me e fijado que habla bastante como fucionan el teclado
la pantalla, etc, por ejemplo la pantalla hay un cañon que corre infinita veces la pantalla llenandola de pixeles a una velocidad super
veloz y todo eso lo podes ver en un libro que se llama universo digital de IBM , PC o algo así en el primer enlace sale de google.
no le lei todo a aprendemele de memoria todo pero le di una buena leida.
tambien me e fijado que antes, en la programacion en DOS se trataba mucho esos temas, luego con windows ya casí no se trata
mucho, obviamente porque windows hace la tarea más facil


En línea

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: Assembly sin SO ¿?
« Respuesta #2 en: 2 Julio 2012, 15:44 pm »

Aqui está la respuesta a todo y mas.

http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html/

Tenes ahi un compilado de 3 volumenes o de 7. (es exactamente lo mismo, solo diferencia la cantidad de pdfs)
« Última modificación: 2 Julio 2012, 16:00 pm por _Enko » En línea

dac

Desconectado Desconectado

Mensajes: 94



Ver Perfil WWW
Re: Assembly sin SO ¿?
« Respuesta #3 en: 2 Julio 2012, 17:28 pm »

Por un lado conseguí un par de libros de la era "post DOS" y creo que voy ya teniendo donde sacar la info que quiero  ;-)
y también mire los pdf's de intel y me sirvió mucho la info un poco más profunda de los micros.

Muchas Gracias! :D
En línea

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: Assembly sin SO ¿?
« Respuesta #4 en: 2 Julio 2012, 22:19 pm »

DOS es un sistema operativo... si  lo usas, no cumples la condicion de tu pregunta (assembly sin SO)

La única librería que podrias usar serían las interupciones de la BIOS y te mantendrias dentro de esa condicion. Pero  estarías atado a programar en 16bit.

Podrias programar bajo DOS pero sin usar las interrupciones de DOS, sino los de la BIOS unicamente... igual sería hacer trampa.
En línea

Oblivi0n


Desconectado Desconectado

Mensajes: 392

Odio las ranas.


Ver Perfil
Re: Assembly sin SO ¿?
« Respuesta #5 en: 2 Julio 2012, 22:28 pm »

Para usar ensamblador sin sistema operativo, tienes que conocer todos los detalles de los dispositivos que manejes, vease : bancos de registros, mapeos de memoria, tamaño de la memoria, numero de registros accesibles, etc etc. Si quieres, te puedo pasar un programar que usamos en la universidad en una asignatura que es un poco iniciacion a la arquitectura de programación. El programa simula un computador pero por software, tiene su propio ensamblador, que es relativamente parecido al ASM x86 de intel, y puedes ejecutar programas viendo todo lo que pasa ( incluso virtualizar pantalla y teclado ). Eso si, es una lata aprender a usarlo
En línea

zu-zu

Desconectado Desconectado

Mensajes: 31



Ver Perfil
Re: Assembly sin SO ¿?
« Respuesta #6 en: 2 Julio 2012, 22:42 pm »

A pesar de que se diga lo contrario, no todo son interrupciones de la BIOS para modo real, ya que existe gran variedad de alternativas para programar aplicaciones sin necesidad de un OS, como por ejemplo los opcodes IN, OUT, LGDT, LIDT, etc.

Al no haber ningún OS instalado, la BIOS debe cargar nuestro bootloader -ubicado en el sector 0 de la unidad correspondiente- en la dirección de memoria de 16 bits 0x7C00 porque después de todo estamos en modo real, para luego cargar el núcleo del programa, pasar a modo protegido, etc.

La memoria de vídeo, al menos en modo texto, es mapeada en una dirección de memoria que ya no recuerdo, y escribiendo allí es posible imprimir caracteres en la pantalla.

La mejor alternativa para aprender a programar a tan bajo nivel sería leer la documentación oficial de Intel y tener conocimientos mínimos sobre hardware. Existe mucha documentación al respecto, sólo hay que saber buscar correctamente.

PD: En vista de que se ha hablado sobre simular un ordenador por software, te recomendaría probar BOCHS.
« Última modificación: 2 Julio 2012, 22:45 pm por zu-zu » En línea

Oblivi0n


Desconectado Desconectado

Mensajes: 392

Odio las ranas.


Ver Perfil
Re: Assembly sin SO ¿?
« Respuesta #7 en: 2 Julio 2012, 22:58 pm »

Desconozco si en los ordenadores convencionales las direcciones de memoria se mapean en unos sitios "predeterminados", pero hasta donde alcanzan mis conocimientos, eso es una decisión del diseño del propio computador, y no tienen porque estar en esa dirección de memoria (corriganme si me que equivoco).
En línea

zu-zu

Desconectado Desconectado

Mensajes: 31



Ver Perfil
Re: Assembly sin SO ¿?
« Respuesta #8 en: 2 Julio 2012, 23:08 pm »

Desconozco si en los ordenadores convencionales las direcciones de memoria se mapean en unos sitios "predeterminados", pero hasta donde alcanzan mis conocimientos, eso es una decisión del diseño del propio computador, y no tienen porque estar en esa dirección de memoria (corriganme si me que equivoco).

La memoria de vídeo en modo texto se mapea en 0xB8000, para modo gráfico se encuentra en 0xA0000. Ambas en ordenadores convencionales.
En línea

dac

Desconectado Desconectado

Mensajes: 94



Ver Perfil WWW
Re: Assembly sin SO ¿?
« Respuesta #9 en: 3 Julio 2012, 04:02 am »

_Enko:

Claro que si... pero precisamente por eso busque documentación post DOS , quiero decir antes del DOS

zu-zu:

Me has dado mucha luz en el asunto, lo tengo un poco más claro, donde puedo aprender a manejar la memoria de video? (en que libros) , probaré BOCHS , hace unos días encontré "MSX88" y aluciné; lo usé con DOSBOX sin embargo no me convenció y busque una alternativa que no encontré, gracias por recomendarlmelo

Oblivi0n:

Me podrías decir cual es dicho software? , y donde puedo encontrarlo?, me fascina lo que dices acerca de este


Gracias a todos!

En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Movido]C + assembly
Programación Visual Basic
jose2c 0 1,413 Último mensaje 21 Febrero 2006, 23:32 pm
por jose2c
Assembly
Bugs y Exploits
VCore 3 3,397 Último mensaje 8 Octubre 2010, 13:35 pm
por tragantras
Duda de Assembly
ASM
defconx 2 3,356 Último mensaje 25 Septiembre 2012, 18:14 pm
por fary
[HLA] High Level Assembly
ASM
Stuxnet 1 4,506 Último mensaje 14 Noviembre 2015, 02:46 am
por charlymd
me molesta que se crean dioses de assembly
ASM
Weeken 8 6,042 Último mensaje 14 Diciembre 2012, 16:27 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines