sábado, 30 de noviembre de 2013

Modificación de código.

A continuación la modificación del programa para que pudiera imprimir los caracteres del 0-255 

Primeramente en programa inicical. 
Luego de depurarlo nos dimos cuenta que imprimía lo que conocemos como "basura" o conjunto de caracteres sin algún significado. 

Después de ver el código observe que le faltaban varias sentencias comunes que hemos visto en clases.. Asi  que las agregue como se muestra a continuación. 

Las sentencias eran 
.STACK 256 
.DATA
y sacar el la linea CHAR DB 00,$ del begin. 

Al compilarlo no obtuve errores. 

y se mostraron los caracteres de manera correcta.


lunes, 25 de noviembre de 2013

Respuestas.


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

El sistema de almacenamiento en disco constituye el soporte externo de la información. Los datos se registran sobre la superficie del disco en una serie de circunferencias con cé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 la unidad básica de almacenamiento en disco. El tamaño de un sector se mide en bytes, y depende de las características del disco.


2. Como se hace el acceso a disco usando lenguaje ensamblador.

_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.

_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.

_FreeDiskSpace. Devuelve en DX:AX el espacio libre en disco (en Kb). En caso de error, se enciende el bit de acarreo.



3. mencione y describa las unidades básicas de adaptador de vídeo.
a) El controlador de vídeo: Esta unidad "Es el caballo de batalla", genera las señales de rastreo del monitor para el modo seleccionado, texto o gráfico. El procesador de la computadora envía instrucciones a los registros del controlador y lee la información del resultado.
b) El vídeo de BIOS: Actúa como una interfaz con el adaptador de viseo, contiene rutinas, como para establecer al cursor y desplegar caracteres.
c) El área de despliegue de vídeo: En memoria contiene la información que el monitor va a mostrar. Las interrupciones que manejan el despliegue en pantalla de forma directa transfieren a esta área sus datos. Las localidades del adaptador del vídeo dependen de los modos de vídeo que de estén usando. para los adaptadores principales, a continuación los inicios de despliegue de vídeo;


A000:[0] EGA, MCGA y VGA.

•B000:[0] MDA, EGA y VGA.

•B100:[0] HCG.

•B800:[0] texto, CGA,MCGA,EGA y VGA y modos graficos CGA, EGA, MCGA y VGA.

viernes, 22 de noviembre de 2013

Acceso a discos en lenguaje ensamblador.

1. Qué es el acceso a dispositivos de almacenamiento
El sistema de almacenamiento en disco constituye el soporte externo de la información. Los datos se registran sobre la 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 la unidad básica de almacenamiento en disco. El tamaño de un sector se mide en bytes, y depende de las características del disco.

2.Qué es el acceso a dispositivos de almacenamiento
Se presentan 3 rutinas que permiten lectura y escritura absoluta de sectores, así como la determinación del espacio libre disponible en un disco.

_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.

_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.

_FreeDiskSpace. Devuelve en DX:AX el espacio libre en disco (en Kb). En caso de error, se enciende el bit de acarreo.

3. Busque y ejecute un programa de demuestre en su ejecución el acceso a disco para grabar y leer.

Invocación: 
push <unidad de disco>
push <número de sectores a escribir>
push <primer sector a escribir>
push SEG <buffer>
push OFFSET <buffer>
call _AbsoluteWrite
___________________________________________________________
              PUBLIC _AbsoluteWrite
_AbsoluteWrite   PROC NEAR
                 ARG Buffer:DWORD,Start:WORD,NumSect:WORD,Drive:BYTE= ArgLen
                 push bp ; salvar BP
                 mov bp,sp ; permitir acceso a los argumentos
                 push bx ; salvar registros
                 push cx
                 push dx
                 push ds
                 mov al,Drive ; escritura absoluta a disco
                 mov cx,NumSect
                 mov dx,Start
                 lds bx,Buffer
                 int 26h
                 pop bx
                 pop ds ; recuperar registros
                 pop dx
                 pop cx
                 pop bx
                 pop bp
                 ret ArgLen
_AbsoluteWrite   ENDP


Resumen capitulo 10

Procesamiento avanzado de la pantalla. 





Programa ejemplo.





martes, 12 de noviembre de 2013

Actividad 12

Elaborar un programa que repita 100 veces un mensaje. 

•Sin procedimiento.
•Llamada a procedimiento (ciclo for).
•tiempo de ejecución. 

En mi caso elegí Netbeans porque es el lenguaje que mas domino.

Primer caso, sin procedimiento. 


Observando el tiempo de ejecución. 

Segundo caso, haciendo llamada a procedimiento con un ciclo for.

 Observando el tiempo de ejecución. 

Como conclusión, observamos que el que duro mas tiempo para terminar de ejecutarse donde no utilizamos un procediendo, con un tiempo de 3 segundos. a comparación del de una llamada a procedimiento que duro 1 segundo. 



Actividad 11

Los procedimientos son iguales a las macros pero son más lentas
y necesitan de una instrucción al ser llamadas.

Igual que las macros son conjuntos de instrucciones.

Ejemplos de procedimientos.



Ejemplos de macros.