jueves, 28 de noviembre de 2013

Paso # 1 : Tecleamos el programa en un bloc de notas o como en el ejemplo Notepad++





corremos el programa en nuestra pantalla de consola


Estos son los resultados de nuestro programa



Bueno antes que nada hay que ver que el programa que nos dan, o que ejecutamos en la parte de arriba es .com cosa que nosotros no manejamos, necesitamos el .exe, ya que el .com solo funciona a base de comandos como entradas para poder ver los cambios, de cada uno.
Al  analizar el programa hay que solo reacomodar las lineas, asi como agrar el .data, poner el reguistro AX, inicializarlo con el @data como normalmente lo manejamos en nuestros programas, y despues ese registro pasarlo a aun DS para poder manipularlo
Algo bien importante es que al inicio de ver el programa primero hay que analizarlo ya que no es necesario mover ningun metodo de los que tenemos.

Asi queda el nuevo codigo:







en esta pantalla vemos como los debe de imprimir



lunes, 25 de noviembre de 2013





1. Qué es el acceso a dispositivos de almacenamiento
Son componentes encargados de leer o escribir datos en algun medio (CD, discos duros antes los disquetes, tarjetas de memoria), y en conjunto hacen la memoria de almacenamiento secundario (la cual es el auxiliar de la memoria principal, o llamada memoria externa) de la computadora.

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


Los datos son registrados sobre un disco, (superficie) el cual es llamado pistas, una por disco, generalmente son 2, las que componen un cluster, la cual divide en porciones iguales, que son llamadas sectores (Es la unidad básica del almacenamiento en un disco) midiéndolo en bytes, dependiendo de las características del disco.

Hay 3 rutinas principales:


1.- _AbsoluteRead: Es una rutina que transfiere el contenido de uno o mas sectores del disco al buffer especificado, accesando directamene a los sectores lógicos. En caso de error, se enciende el bit de acarreo y AX contiene el código de error.


2.- AbsoluteWrite: Tranfiere el contenido del buffer especificando a uno o mas sectores de disco, accesando directamente a los sectores logicos. En caso de error, se enciende el bit de acarreo y AX contiene el codigo de error.

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


Controlador de vídeo: Es el caballo de batalla, genera senales de rastreo que el procesador de la computadora envía instrucciones del controlador y lee la información.

El vídeo del BIOS: Es la interfaz entre el adaptador de vídeo y el cliente, contiene rutinas y desplega caracteres.

Área de despiegue de vídeo: Contiene la información que el monitor mostrara.

sábado, 23 de noviembre de 2013

Acceso a discos en lenguaje ensamblador

Investigue y publique en su blog:


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

   Son aquellos que almacenan de manera temporal o en ocasiones suelen ser permanentes dependiendo de las aplicaciones que necesiten nuestros sistemas.
Hay diferentes tipos de almacenadores


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

 Los datos son registrados sobre un disco, (superficie) el cual es llamado pistas, una por disco, generalmente son 2, las que componen un cluster, la cual divide en porciones iguales, que son llamadas sectores (Es la unidad básica del almacenamiento en un disco) midiéndolo en bytes, dependiendo de las características del disco.

Hay 3 rutinas principales:
1.- _AbsoluteRead: Es una rutina que transfiere el contenido de uno o mas sectores del disco al buffer especificado, accesando directamene a los sectores lógicos. En caso de error, se enciende el bit de acarreo y AX contiene el código de error.


2.- AbsoluteWrite: Tranfiere el contenido del buffer especificando a uno o mas sectores de disco, accesando directamente a los sectores logicos. En caso de error, se enciende el bit de acarreo y AX contiene el codigo de error.

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

como podemos notar tienen un registro que almacena el codigo de error, o encienden los bits de acarreo.



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





 
 
 
 

Sale un error pero el programa si habla del tema correctamente.

Estas son las posibles respuestas a nuestro error mostrado en pantalla:

http://es.kioskea.net/faq/608-exe-no-es-una-aplicacion-win32-valida

 
para mostrar tecleamos el otro ejemplo
 
 
 
 
 
 
 

fuentes consultadas:





miércoles, 20 de noviembre de 2013

4.1 El buffer de video en modo texto

Actividad : del capitulo  10 ( pagina 155-169)  del libro  digital  lenguaje ensamblador  y ´programación para IBM, genere un resumen en su cuaderno con las funciones  de la int 10. y ejecute el programa ejemplo








corriendo el programa en el debug




 

 





lunes, 18 de noviembre de 2013

sábado, 9 de noviembre de 2013

Actividad # 12

En un lenguaje de su conocimiento debe Hacer un programa para imprimir 100 veces un mensaje

1. Sin usar procedimientos
2. Usando llamadas a procedimientos
3. Incluya una función de tiempo que imprima el tiempo de inicio y el tiempo al final para medir el tiempo de ejecución



En mi caso hice el programa en java (NetBeans), ya que es el que mas domino :D 

Ejecución sin procedimientos:
 
Codigo:



compilación







podemos observar el tiempo de compilación





Ejemplo con ciclo: 

 
codigo:
 
 

 
 
Ejecucion:
 



Notamos que en ejecución con el ciclo fue de 0 segundos al momento de compilar



Actividad #11

MILITARIZACIÓN

Ejemplos con PROC (Procedimientos)

Son aquello que nos permiten codificar bloques de sentencias a los que se asigna de un nombre, usa parámetros, y las sentencias son dictadas de una por una.
Ejemplo #1



Ejemplo #2



Ejemplos con macros

Macros es utilizado para disminuir las lineas de codigo de nuestro programa, ya que en lenguaje ensamblador se utilizan muchos procedimientos que suelen ser algo tediosos, o dicen lo mismo.

Estructura base de nuestros ejemplos con macro:

.MACRO Nombre [(parametro1, parametro2, etc)]
INSTRUCCIONES
ENDM
Nuevamente, lo que se encuentra entre paréntesis cuadrados es opcional.
De acuerdo con esto, la macro para imprimir cadenas quedaría de la siguiente forma:
.MACRO Imprime_Cad(Cadena)
Lea DX,Cadena
Mov Ah,09h
Int 21h
ENDM



Ejemplo #1



Ejemplo # 2 




Las diferencias entre macros y los procedimientos es que las macros son mas rápidas para ejecutarlas a comparación de los procedimientos, ya que los procedimientos hacen el código paso por paso, aunque en ocasiones suele ser mas fácil comprender un código que use procedimientos porque vemos paso por paso, registro por registro y en las macros solo la ejecuta ahorrando tiempo 


Fuente:

http://www.ilustrados.com/tema/3805/Programacion-lenguaje-ensamblador.html