jueves, 28 de noviembre de 2013

Código modificado para imprimir caracteres.

El código original es el siguiente:


Las modificaciones son las siguientes:
-Se agrego el Stack Segment   a 256 para los numeros del 0 al 255 (.STACK 256)
-Se puso el .DATA para poder declarar el tipo de dato CHAR
-Despues del BEGIN inicializamos el registro de datos.
MOV AX,@DATA
MOV DS, AX


El codigo modificado quedo de la siguiente forma:

Proceso de ensamblado y enlazado de nuestro programa es el siguiente:
 

Y nuestro programa ejecutado:


 

lunes, 25 de noviembre de 2013

Cuestionario

1. ¿Qué es el acceso a  dispositivos de almacenamiento?

Es cualquier tipo de dispositivo de almacenamiento secundario que tiene un tiempo de acceso bajo en proporción a su capacidad.

Son dispositivos periféricos del sistema, que actúan como medio de soporte para grabar los programas de usuario, y de los datos y ficheros que va a manejar la CPU durante el proceso en curso, de forma permanente o temporal mediante sus propias tecnologías, ya sea electrónica u ópticamente.
 


Los Dispositivos de Almacenamiento se pueden clasificar de acuerdo al modo de acceso a los datos que contienen:
  • Acceso secuencial: En el acceso secuencial, el elemento de lectura del dispositivo debe pasar por el espacio ocupado por la totalidad de los datos almacenados previamente al espacio ocupado físicamente por los datos almacenados que componen el conjunto de información a la que se desea acceder.

  • Acceso aleatorio: En el modo de acceso aleatorio, el elemento de lectura accede directamente a la dirección donde se encuentra almacenada físicamente la información que se desea localizar sin tener que pasar previamente por la almacenada entre el principio de la superficie de grabación y el punto donde se almacena la información buscada. 
 2. ¿Cómo se hace el acceso a disco usando lenguaje ensamblador?

Los datos se registran sobre Ia superficie del disco en una serie de circunferencias concéntricas llamadas pistas (track). Varias pistas, una por cada cara del disco (generalmente 2), componen un cluster. Cada pista está dividida en porciones iguales llamadas sectores. Un sector es Ia unidad básica de almacenamiento en disco. El tamaño de un sector se mide en bytes, y depende de Ias características del disco.


En esta sección se presentan 3 rutinas que permiten lectura y escritura absoluta de sectores, así como Ia determinación del espacio libre disponible en un disco.








ADAPTADORES DE VIDEO

Los más comunes adaptadores de video son:

MDA Adaptador dc pantalla monocromática
HGC Tarjeta de gráficos Hércules      
CGA Adaptador de gráficos en colores
EGA Adaptador de gráficos mejorado
MCGA Adaptador de gráficos en multicolores (PS/2 modelos 25 y 30)
VGA Matriz de gráficos de video

El VGA y sus clones súper VGA reemplazaron a los adaptadores de video CGA y EGA.
Programas escritos para un CGA o un EGA por lo común pueden correr con un sistema VGA. aunque programas escritos específicamente para VGA no corren en un CGA o un EGA.
El adaptador de video consta dc tres unidades básicas: ei controlador de video, el video de BIOS y el área dc despliegue de video.

1. El controlador de video, esta unidad “es el caballo dc batalla”, genera Ias señales de rastreo
del monitor para el modo seleccionado, texto o gráfico. El procesador de Ia computadora
envía instrucciones a los registros del controlador y lee ahí Ia información de estado.

2. El video de BIOS, que actúa como una interfaz con el adaptador dc video, contiene rutinas,
como para establecer el cursor y desplegar caracteres.

3. El área de despliegue de video en memoria contiene Ia información que el monitor va a
mostrar. Las interrupciones que manejan el despliegue de en pantalla de forma directa transfiere a esta área sus datos. Las localidades del adaptador de video dependen de los modos de video que se estén usando. Para los adaptadores principales, a continuación están Ias direcciones dcl inicio de los segmentos de despliegue dc video:


  •  A000:[0] Utilizada para descripción de fuentes cuando está en modo de texto y para gráficos de alta resolución para EGA, MCGA y VGA
  • B000:[0] Modo dc texto monocromático para MDA, EGA y VGA
  • B100:[0] Para HCG
  • B800[0] Modos de texto para CGA. MCGA, EGA y VGA y modos gráficos para CGA, EGA, MCGA y VGA. 


     
    El monitor gráfico dc color RGB común permite Ia entrada de señales que son enviados a
    tres cañones dc electrones (rojo, verde y azul, para cada uno de los colores primarios aditivos).

Bibliografia:
http://books.google.com.mx/books?id=syAOv7jF3W4C&pg=PA154&lpg=PA154&dq=unidades+b%C3%A1sicas+de+adaptador+de+video&source=bl&ots=rIb0YikqW0&sig=lOgKpaj_yI-MutYeI3bdo0dgdUw&hl=es-419&sa=X&ei=w72cUr7NNMjzoASX1oLgCw&ved=0CEUQ6AEwAQ#v=onepage&q&f=true

 

jueves, 21 de noviembre de 2013

Acceso a discos en lenguaje ensamblador



1¿Qué es el acceso a dispositivos de almacenamiento?

Es cualquier tipo de dispositivo de almacenamiento secundario que tiene un tiempo de acceso bajo en proporción a su capacidad.

Son dispositivos periféricos del sistema, que actúan como medio de soporte para grabar los programas de usuario, y de los datos y ficheros que va a manejar la CPU durante el proceso en curso, de forma permanente o temporal mediante sus propias tecnologías, ya sea electrónica u ópticamente.
 


Los Dispositivos de Almacenamiento se pueden clasificar de acuerdo al modo de acceso a los datos que contienen:
  • Acceso secuencial: En el acceso secuencial, el elemento de lectura del dispositivo debe pasar por el espacio ocupado por la totalidad de los datos almacenados previamente al espacio ocupado físicamente por los datos almacenados que componen el conjunto de información a la que se desea acceder.

  • Acceso aleatorio: En el modo de acceso aleatorio, el elemento de lectura accede directamente a la dirección donde se encuentra almacenada físicamente la información que se desea localizar sin tener que pasar previamente por la almacenada entre el principio de la superficie de grabación y el punto donde se almacena la información buscada.  


2. ¿Cómo se hace el acceso a disco usando lenguaje ensamblador?
El sistema de almacenamiento en disco constituye el soporte externo de Ia información. Los datos se registran sobre Ia superficie del disco en una serie de circunferencias concéntricas llamadas pistas (track). Varias pistas, una por cada cara del disco (generalmente 2), componen un cluster. Cada pista está dividida en porciones iguales llamadas sectores. Un sector es Ia unidad básica de almacenamiento en disco. El tamaño de un sector se mide en bytes, y depende de Ias características del disco.

En esta sección se presentan 3 rutinas que permiten lectura y escritura absoluta de sectores, así como Ia determinación del espacio libre disponible en un disco.


Rutina _AbsoluteRead: Transfiere el contenido de un o más sectores del disco al buffer especificado, accesando directamente a los sectores lógicos. En caso de error, se enciende el bit de acarreo y AX contiene el código del error.



Rutina _AbsoluteWrite: Transfiere el contenido del buffer especificado a uno o más sectores de disco, accesando directamente a los sectores lógicos. En caso de error, se enciende el bit de acarreo y AX contiene el código del error.


Los programas no se ejecuta correctamente, ya que sale un error que dice que no es una aplicación Win32 válida, pero estos procesos son rutinas que se usan para acceder a disco en lenguaje ensamblador algunas posibles respuestas a este error puede ser http://es.kioskea.net/faq/608-exe-no-es-una-aplicacion-win32-valida.



 Bibliografia:
http://es.wikipedia.org/wiki/Dispositivo_de_almacenamiento_de_acceso_directo

http://www.monografias.com/trabajos35/dispositivos-almacenamiento/dispositivos-almacenamiento.shtml

 http://www.sisman.utm.edu.ec/libros/FACULTAD%20DE%20CIENCIAS%20ZOOT%C3%89CNICAS/CARRERA%20DE%20INGENIER%C3%8DA%20EN%20INFORMATICA%20AGROPECUARIA/05/PROGRAMACION%20IV/P.%20Avanzada%20lenguaje%20ensamblador.PDF#page=3&zoom=auto,0,143