martes, 6 de diciembre de 2016

Programas 26, 27 y 28

Equipo:

  • Jose Angel Ariza Salazar
  • Mauricio Sanchez Mora
  • Abigail Jaramillo Silva
  • Eduardo Rodriguez  Rosas

PROGRAMAS <

jueves, 13 de octubre de 2016

Programas Assambler

Mnemonicos

Un lenguaje en mnemónico o lista de instrucciones consiste en un conjunto de códigos simbólicos, cada uno de los cuales corresponde a una instrucción.

Cada fabricante utiliza sus propios códigos, y una nomenclatura distinta para nombrar las variables del sistema.

El lenguaje en mnemónico es similar al lenguaje ensamblador del micro.

MOV (transferencia)
Sintaxis: MOV dest, origen.
Transfiere datos de longitud byte o palabra del operando origen al operando destino. Pueden ser operando origen y operando destino cualquier registro o posición de memoria direccionada de las formas ya vistas, con la única condición de que origen y destino tengan la misma dimensión.

LEA (carga dirección efectiva)
Sintaxis: LEA destino, origen
Transfiere el desplazamiento del operando fuente al operando destino. Otras instrucciones pueden a continuación utilizar el registro como desplazamiento para acceder a los datos que constituyen el objetivo.

POP (extraer de la pila)
Sintaxis: POP destino
Transfiere el elemento palabra que se encuentra en lo alto de la pila (apuntado por SP) al operando destino que a de ser tipo palabra, e incrementa en dos el registro SP.

PUSH (introduce en la pila)
Sintaxis: PUSH origen
Decrementa el puntero de pila (SP) en 2 y luego transfiere la palabra especificada en el operando origen a la cima de la pila.

CALL (llamada a subrutina)
Sintaxis: CALL destino
Transfiere el control del programa a un procedimiento, salvando previamente en la pila la dirección de la instrucción siguiente, para poder volver a ella una vez ejecutado el procedimiento.

JMP (salto) 
Sintaxis: JMP dirección o JMP SHORT dirección
Transfiere el control incondicionalmente a la dirección indicada en el operando.

RET / RETF (retorno de subrutina)
Sintaxis: RET [valor] o RETF [valor]
Retorna de un procedimiento extrayendo de la pila la dirección de la siguiente dirección. Se extraerá el registro de segmento y el desplazamiento en un procedimiento de tipo FAR (dos palabras) y solo el desplazamiento en un procedimiento NEAR (una palabra). si esta instrucción es colocada dentro de un bloque PROC-ENDP (como se verá en el siguiente capítulo) el ensamblador sabe el tipo de retorno que debe hacer, según el procedimiento sea NEAR o FAR.

INT (interrupción)
Sintaxis: INT n (0 <= n <= 255)
Inicializa un procedimiento de interrupción de un tipo indicado en la instrucción.

ADD (suma)
Sintaxis: ADD destino, origen
Suma los operandos origen y destino almacenando el resultado en el operando destino. Se activa el acarreo si se desborda el registro destino durante la suma.

SUB (resta) 
Sintaxis: SUB destino, origen
Resta el operando destino al operando origen, colocando el resultado en el operando destino. Los operandos pueden tener o no signo, siendo necesario que sean del mismo tipo, byte o palabra.

MUL (multiplicación sin signo)
Sintaxis: MUL origen  (origen no puede ser operando inmediato)
Multiplica el contenido sin signo del acumulador por el operando origen.

DIV (división sin signo)
Sintaxis: DIV origen  (origen no puede ser operando inmediato)
Divide, sin considerar el signo, un número contenido en el acumulador y su extensión (AH, AL si el operando es de tipo byte o DX, AX si el operando es palabra) entre el operando fuente.





Microprocesadores Intel 8080 y 8086 (Resumen)

Intel 8080


·         Fue el cerebro de la primera computadora personal: La Altair.
·         Es considerado el primer Microprocesador de propósito general.
·         El Sistema Operativo CPM/80 de Digital Research fue escrito para este procesador.
·         Sus características son:
o   Bus de datos de 8 bits
o   Alimentación +12V, +5V y -5V
o   Frecuencia máxima de clock: 2 MHz
o   Espacio de direccionamiento: 64 Kbytes
o   Contiene alrededor de 6,000 transistores NMOS de 6 Micrones.
Intel 8086


·         Es el primer procesador de 16 bits.
·         Se presentó en Junio de 1978.
·         Un año después el 8088 aprecio con la misma arquitectura interna pero con un bus externo de 8 bits por compatibilidad con el hardware legacy.


miércoles, 12 de octubre de 2016

Versiones de Lenguaje Ensamblador

Cruzados:

Permiten el soporte de medios físicos como pantallas, impresoras, teclado, etc. y la programación que ofrecen maquinas potentes que luego serán ejecutados en sistemas especializados.

Residentes:

Permanecen en la memoria de la computadora, y cargan para su ejecución al programa objeto producido. Es el indicado para el desarrollo de pequeños sistemas de control.

Macroensambladores:

Permiten el uso de macroinstrucciones, son programas grandes que no permanecen en memoria una vez que se a generado el código objeto, normalmente son programas complejos y residentes.

Micro Ensambladores:

Indica al interprete las instrucciones de cómo debe actuar la CPU.
Ensambladores de una fase leen una línea de programa fuente y la traducen directamente para producir una instrucción en lenguaje máquina, estos ensambladores son sencillos, baratos y ocupan poco espacio.

Ensambladores De Dos Fases:

Se llaman así por que realizan la traducción en dos etapas, en la primera fase revisan el código fuente y lo construyen en una tabla de símbolos, en la segunda fase vuelven a leer el programa fuente y pueden traducirlo por completo. Estos ensambladores son los más utilizados en la actualidad.