Ensamblador - entrada/salida

 
Vista:

entrada/salida

Publicado por gabriel (5 intervenciones) el 26/03/2003 16:41:52
Buenas... estoy empezando con esto de asembler.. y la verdad es que mucha info por la red no se encuentra, menos si lo que se busca es documentacion que explique como comunicarse con los perifericos, como se utilizan los puertos de E/S, como se envian comandos o instrucciones, y todo eso. Lo único que hay son algunos q otros ejemplos.
Bueno, mi peticion es la siguiente: necesitaría que alguien me de informacion sobre eso, o ejemplos explicativos, sobre cosas como imprimir un caracter en pantalla y cosas sencillas para ir entendiendo.
Quiero saber lo necesaria para comunicarme con los dispositivos.
En programmersheaven no hay nada. (por si me remiten ahí) MUCHAS GRACIAS!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:entrada/salida

Publicado por César Augusto Navarro Gómez (30 intervenciones) el 27/03/2003 18:01:12
Lo que solicitas sobre funciones para imprimir caracteres es bastante sencillo simplemente busca Ralf Brown en un buscador y encontrarás una lista completa de las interrupciones (que son las funciones utilizadas)

En cuanto a lo de programmersheaven.com estás equivocado ya que ahí encuentras la liga a un tutorial bastante buen de HLA (Ensamblador de Alto Nivel).

Te sugiero también que para no confundirte demasiado empieces con las interrupciones disponible en un procesador antiguo como el 8086 ya que de lo contrario te perderás en el mar de información que encontrarás. Y prepárate que esto del ensamblador es más "a patita" que nada pero si lo entiendes seguro te agradará su potencial.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Empeza con esto...

Publicado por Jorge (126 intervenciones) el 29/03/2003 07:08:06
Si lo que queres es lograr comunicación con los dispositivos de hard a bajo nivel, entonces antes de embarcarte con interrupciones y codigos especificos de dispositivos, empezá buscando informacion sobre los puertos en la PC. CUIDADO, no te confundas puertos de hard con puertos de TCP-IP y demas de las cosas reacionadas a las redes.
Te cuento un poco para que te des una idea:
Hay un area de "memoria" compartida en la PC que sirve para que la CPU y los dispositivos se puedan comunicar entre sí, e incluso entre ellos sin hacer uso de la CPU. Esta area es empleada casi exclusivamente para setear configuraciones en los dispositivos, leerlas o intercambiar datos de 8 o 16 bits. Para mayor transferencia de datos, es sabido que cada dispositivo se conecta al bus de datos directamente.
El tema reside en lo siguiente, y veamos una tarjeta de video tipo SVGA: la tarjeta tiene varias configuraciones posibles, podes seleccionar varias resoluciones, varias profundidades de color, diferentes frecuencias de barrido, configurar registros internos de la placa, selecionar la cantidad de memoria, etc.

SIGUE EN EL MENSAJE SIGUIENTE ->
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

continuación...

Publicado por Jorge (126 intervenciones) el 29/03/2003 07:10:07
-> VIENE DEL MENSAJE ANTERIOR

Si te pones a mirar en detalle y quisieras mapear los registros a un area de memoria RAM en la PC, te sorprenderias de ver que necesitarias unas 100.000 direcciones!!!!, medio como que con los 64 kb miserables no te alcanzan. Pero por eso, los técnicos de IBM crearon un sistema de indices que se emplean hasta hoy y que consiste en asignar una pocas direcciones a cada dispositivo, de la siguiente forma: una dirección de selección (DIRSEL) y otra de valor (DIRVAL). De este modo, si queremos acceder al registro interno 3 de la placa de video ponemos el valor 3 en DIRSEL y leemos los datos de la configuracion actual desde DIRVAL o la cambiamos escribiendo también a DIRVAL. De este modo, se minimiza el numero de registros requeridos, pero tambien se sube la complejidad de la circuiteria de los dispositivos. En la realidad, una placa de video tiene asignadas unas 40 direcciones, algunas para tratar el color, otras para la resolucion, otras configuración de modos, otras de estado de barrido, etc.
El mecanismo es más o menos el mismo en todos los dispositivos, la placa de video usa esas direcciones para configuraciones y accede a una memoria interna (memoria de video) para transferir los datos al monitor. Otros dispositivos como por ejemplo un módem, usan los registros para leer o enviar los datos a la línea, avisar a traves de un registro de estado si ha sucedido algo (un corte, una recepcion, un baffer vaio, etc.); un disco rígido lee los comandos desde la "memoria" de puertos y así...

SIGUE EN EL SIGUIENTE ->
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

más continuación...

Publicado por Jorge (126 intervenciones) el 29/03/2003 07:11:39
-> VIENE DEL MENSAJE ANTERIOR

Bueno, ya me aburri de escribir, pero si tenes alguna duda volve a preguntar en esta página. Te recomiendo comenzar con esto, porque es la base de la comunicación interna de la PC; junto con las interrupciones; pero aún estas últimas son configuradas a traves de los puertos. No sólo podrás acceder a dispositivos, sino también a controladores internos de la placa base (timers, controlador de interrupciones, BIOS, DMA, memoria caché, etc.)

Espero te halla servido, suerte!!!

FIN ; )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar