ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

EXPERIENCIA LABORAL


Enviado por   •  2 de Julio de 2013  •  3.083 Palabras (13 Páginas)  •  637 Visitas

Página 1 de 13

1. INSTRUCCIONES.

1.1 Concepto.

Se le denomina instrucción al conjunto de datos insertados en una secuencia estructurada que el procesador interpreta y ejecuta. Un conjunto de instrucciones especifica qué instrucciones pueden ser ejecutadas y entendidas por la CPU.

Una instrucción es una única operación de un procesador definida por un conjunto de instrucciones de una arquitectura. Las instrucciones incluyen operaciones aritméticas, compuertas lógicas, instrucciones de datos (como leer o escribir) e instrucciones control (“si”, “retornar”, “ir a…”). Los tipos de instrucciones varían de una arquitectura a otra, y determinan el funcionamiento de la CPU que las ejecuta. El programador utiliza instrucciones para controlar el CPU.

1.2 Clasificación.

Las instrucciones se clasifican principalmente en cuatro tipos de conjuntos: transferencia, aritméticas, lógicas y control.

1.2.1 De Transferencia.

En este tipo de instrucciones se transfieren datos de una localización a otra. Los pasos para realizarlo son determinar las direcciones de origen y destino de memoria.

1.2.2 Aritméticas/Lógicas.

Pueden implicar la transferencia de datos antes o después. Realizan operaciones aritméticas de las que se encarga la “Unidad Aritmético Lógica” (ALU). Pueden clasificarse en un operando (valor absoluto/negación) o dos operando (suma y resta). También realiza la comparación entre dos valores.

1.2.3 De Transferencia de Control.

Su función es actualizar el puntero de instrucciones, o dicho de otro modo, el registro del CPU que indica la posición del procesador en la secuencia de instrucciones. Puede apuntar directamente a otra ubicación del programa, o hacerlo mediante el cumplimiento de una condición lógica.

1.3 Instrucciones Principales.

1.3.1 Instrucciones de Transferencia.

Son utilizadas para mover los contenidos de los operando. Cada instrucción puede usarse con diferentes modos de direccionamiento: La instrucción MOV transfiere datos entre celdas de memoria, registros y acumuladores. Las instrucciones de transferencia son MOV, XCHG, IN, OUT, XLAT, LEAD, LDS, LES, LAHF, SAHF, PUSH, POP.

MOV [destino], [fuente]

MOV mueve el contenido de una ubicación a otra: destino es el lugar donde se moverán las instrucciones, fuente es el lugar de origen de las instrucciones.

MOV AX, 0006h

MOV BX, AX

MOV AX, 4C00H

INT 21H

El programa mueve el valor (0006h) a AX, luego mueve el valor de AX a BX. Luego mueve un nuevo valor a AX y finaliza la ejecución con una interrupción. No ocupa banderas tarda un ciclo para cualquier operación, para mover registros ocupa dos ciclos.

1.3.2 Instrucciones Aritméticas.

Se utilizan para realizar operaciones de cálculo con los contenidos de los registros. Este grupo de instrucciones puede modificar las banderas de acuerdo al resultado. Las instrucciones de transferencia son ADD (y variaciones), SUB, INC, DEC y MUL.

ADD [base], [suma]

ADD sumará el contenido de un registro a otro: base es el valor al que se le sumará una cantidad, suma es la cantidad que será añadida.

MOV AX, 5

MOV BX, 5

ADD AX, BX

ADD AX, 5

INT 21H

El programa asigna el valor 5 a AX, luego asigna 5 al registro BX. Luego sumará mediante ADD el valor de BX a AX, dando como resultado A base 16 (10 en decimal). Al nuevo valor de AX le sumará 5, siendo AX=F base 16 (15 base 10) y finaliza la ejecución con una interrupción. Ocupa las banderas C, AC y OV. Tarda un ciclo para cualquier operación.

1.3.3 Instrucciones Lógicas.

Si hablamos de un set de instrucciones aritméticas y lógicas, debe incluirse entonces las compuertas AND, OR, NOT y XORT. Cada compuerta aplicará la lógica de tablas a los registros que se comparen.

AND [dato1], [dato2]

AND comparará el contenido de un registro con otro: dato1 será descompuesto en binario y comparado con dato2 en binario, y el resultado se dará basándose en la lógica de la tabla de verdad de AND.

MOV AX, 2

MOV BX, 2

AND AX, BX

INT 21H

AX posee el valor 2 (10 base 2) y BX posee el mismo valor: 2 (10 base 2) AND comparará ambos registros y almacenará en AX el resultado de la comparación. Como la lógica de AND indica que solo puede ser verdadero (1) si ambos son verdaderos, el resultado almacenado en AND será 2 y finalizará el programa con una interrupción. Si por otro lado el valor de BX o AX fuera 1. El resultado de la comparación sería 0. No ocupa banderas, realiza 2 ciclos por dato.

1.3.4 Instrucciones de Control.

Las instrucciones de control influyen en el flujo de los procesos sea por el uso de condiciones o por interrupciones. O bien, a través de contadores que se incrementan según la necesidad. Las principales instrucciones de control son JUMP y LOOP, con sus respectivas variaciones.

JMP [dirección] – JMP [etiqueta]

JMP saltará hacia la dirección especificada o a la etiqueta especificada. JMP puede cargar el PC (contador del programa) con el resultado de las operaciones o condiciones que se realicen.

JMP 500H

INT 21H

JMP se saltará a la dirección 500H y finalizará con una interrupción. JMP no ocupa banderas y tarda dos ciclos.

2. INTERRUPCIONES.

2.1 Concepto.

Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa (generalmente perteneciente al sistema operativo, o al BIOS). Luego de finalizada dicha subrutina, se reanuda la ejecución del programa.

2.2 Funciones.

Delegar en los dispositivos la responsabilidad de comunicarse con el procesador cuando lo necesitaran. El procesador, en este caso, no sondea a ningún dispositivo, sino que queda a la espera de que estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un evento, una transferencia de información, una condición de error, etc.).

2.3 Forma de Uso.

; PROGRAMA

; MANEJO DE PANTALLA

PILA SEGMENT STACK

DB 3 DUP ('AREA DE PILA')

PILA ENDS

DATOS SEGMENT

A DB 'MANEJO DE PANTALLA’

DB 'EN LENGUAJE ENSAMBLADOR $'

DATOS ENDS

CODIGO SEGMENT

PR3 PROC FAR

ASSUME DS: DATOS, SS: PILA, CS: CODIGO

PUSH DS

MOV AX, 0

PUSH AX

MOV AX, DATOS

MOV DS, AX

...

Descargar como (para miembros actualizados) txt (20 Kb)
Leer 12 páginas más »
Disponible sólo en Clubensayos.com