Assembly sin SO ¿?

Iniciado por dac, 1 Julio 2012, 18:27 PM

0 Miembros y 2 Visitantes están viendo este tema.

_Enko

#10
CitarClaro que si... pero precisamente por eso busque documentación post DOS , quiero decir antes del DOS
post viene de posterior...

antes del DOS?
No se que sistema operativo usaban en los 70'
DOS salio en el 1981
x86 salio en 1978

Tenes 3 años de margen ahí. Antes de eso, NADA de x86. Y despues de eso, DOS.


Estas confundiendo sistema operativo con arquiterctura de la pc.
Lo que buscas no es sobre un sistema operativo viejo, sino sobre la arquiterctura de pc (x86 en adelante)
Los manuales de Intel y AMD tiene esa informacion. Inclusive sobre la direccion de memoria en donde se guarda la matriz del texto de la pantalla estando en modo TEXTO.

EI: juntando mensajes.

Cita de: Oblivi0n 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 x86, la matriz de la pantalla es mapeada en una direccion constante.
Segun el modo elegido. Usando el modo de 80x25 esta aqui:
Citar
$b800:$0000;
Es una matriz de WORD. LoByte es el caracter ASCII y el HighByte es el color.

dac

#11
Citarpost viene de posterior..

:O !! perdón, estoy algo estresado con esto de la graduación del cole y creo que estoy por volverme en loco!

quise decir Pre :P   

entiendo la diferencia entre la arquitectura y el sistema operativo, más bien quise decir que buscaba información sobre programación en ensamblador antes de el uso masivo del DOS (con lo cual los manuales son todos en base al DOS :( ) y quizás así encontrar lo que busco.

con lo que me han estado diciendo acerca de las matrices de vídeo y su posición constante en memoria, voy ya teniendo la idea, me gustaría saber donde puedo aprender a manejarla, y quizás profundizar un poco más (como se pasa dicha matriz al monitor  (donde entra en juego la placa o circuito encargado del video¿ o.O )) como dice el titulo [sin SO] manejando interrupciones de la BIOS y la memoria de video a pelo casi como si estuviésemos programando un sistema operativo; sé que no haré nada grandioso y como suelen decir a tan bajo nivel no podremos hacer muchas cosas realmente utiles, pero aprender el REAL funcionamiento es algo grandioso y que deseo mucho! :)

saludos

Eternal Idol

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

_Enko

Se agradece el enlace. Sabía que tenía que haber algo, pero no sabía que era.
No se si recuerdas la peli Silocon Valley (IBM tenía una pc descente, pero no tenían un buen sistema operativo... ese de seguro era el cp/m al que se referían)


alx741, si no estas dispuesto a leer los manueles de INTEL o AMD, deja el asunto, no vale la pena que pierdas tiempo porque parece  que buscas preguntas en vez de respuestas, lo estas enfocando mal.

Prueba con HTML5 y javascript, está super de moda y Metro de Windows 8 va usarlo.

dac

voy "escarbando" más el asunto del bajo nivel , y cada vez parecen cosas que desconozco (y desearía saber) como funcionan, ahora entiendo (basicamente) las matrizes de video, en este mismo instante estoy echando mano de la documentación oficial de Intel como me recomendaste antes, y de un libro que enfoca la programación ensamblador sin asumir (en su mayor parte) que una función del DOS, de cualquier kernel UNIX o cualquier SO en general hará el trabajo sucio por nosotros sin que nos enteremos ( no creo en la magia XD ), así que creo encontré ya una guía para resolver mis dudas (complementaria a la documentación Intel).

* "Lenguaje ensamblador para computadoras basadas en Intel [quinta edición]" Kip R. Irvine
* Documentación oficial de intel

Gracias a todos por la ayuda, si luego de nutrirme de esa información que comento me quedo "insatisfecho" en algún punto en concreto estaré molestando de nuevo.  :silbar:


_Enko:

      PD: me manejo de forma aceptable en otros lenguajes incluido js/html , pero eso si... Dios me libre del windows y más aun del      8! XD jaja


Saludos y gracias nuevamente!

_Enko

#15
Despues de los manuales de INTEL el siguente paso es
http://wiki.osdev.org/Tutorials
http://wiki.osdev.org/Expanded_Main_Page

particularmente la parte de la memoria de video en modo texto
http://wiki.osdev.org/Babystep4

para probar las cosas, te recomiendo alguna maquina virtual wmware particularmente funciona bien.
Virtual PC de microsoft y de oracle se ponen molestos si pones como arranque una unidad de disquete que no tiene el tamaño exacto o sin algun formato, cosa que para empezar no se requiere.

dac

CitarDespues de los manuales de INTEL el siguente paso es
http://wiki.osdev.org/Tutorials
http://wiki.osdev.org/Expanded_Main_Page

vaya! creo que encontraré ahí todo lo que quiero/necesito para aprender/entender :D , Gracias!!! :D

zu-zu

#17
Aún así, sigue siendo recomendable el que tengas un buen manejo de ensamblador si lo que quieres es programar a tan bajo nivel, sino no llegaras muy lejos.

Para escribir en la pantalla en modo texto simplemente debes escribir los caracteres en la dirección de la memoria que comenté anteriormente. Un byte corresponde al color de texto y fondo, y el otro al carácter a imprimir. La posición del carácter depende de la posición de la memoria en la que haya sido escrito. Igualmente, la página OSDev tiene muchos ejemplos e información que te servirá de utilidad.

EDIT: En vista de que se ha hablado sobre floppy, actualmente los disquetes no son muy usados. Lo mejor sería usar una imágen ISO9660 con extensión Joliet y bootear desde allí.