You are on page 1of 4

Universidad Catlica de Santa Mara

Facultad de ciencias fsicas y formales


Escuela Profesional de Ingeniera Electrnica

Curso
Microelectrnica
Alumno
Renee Diaz Lima
Bryan Coaguila
Dennis Ramos Arias
Tema
Funcionamiento de instruccin de assembler
Temario
Arequipa Per 2017
El funcionamiento de una instruccin en Assembler
El lenguaje ensamblador, o assembler (en ingls assembly language y la abreviacin
asm), es un lenguaje de programacin de bajo nivel. Consiste en un conjunto de
mnemnicos que representan instrucciones bsicas para los computadores,
microprocesadores, microcontroladores y otros circuitos integrados programables.
Implementa una representacin simblica de los cdigos de mquina binarios y otras
constantes necesarias para programar una arquitectura de procesador y constituye la
representacin ms directa del cdigo mquina especfico para cada arquitectura
legible por un programador. Cada arquitectura de procesador tiene su propio lenguaje
ensamblador que usualmente es definida por el fabricante de hardware, y est basada
en los mnemnicos que simbolizan los pasos de procesamiento (las instrucciones), los
registros del procesador, las posiciones de memoria y otras caractersticas del
lenguaje. Un lenguaje ensamblador es por lo tanto especfico de cierta arquitectura de
computador fsica (o virtual). Esto est en contraste con la mayora de los lenguajes de
programacin de alto nivel, que idealmente son porttiles.
Manejo de Datos
Dependiendo del tipo de instruccin se indica los pasos o instrucciones que va a dar el
Dato
Operaciones de mover datos:
Entre los registros y la memoria:
Aunque la instruccin se llama "mover", en la CPU, "mover datos" significa en
realidad copiar datos, desde un origen a un destino, sin que el dato
desaparezca del origen.
Se pueden mover valores:

Desde un registro a otro


Desde un registro a un lugar de la memoria
Desde un lugar de la memoria a un registro
Desde un lugar a otro de la memoria
Un valor inmediato a un registro
Un valor inmediato a un lugar de memoria
Operaciones de pila (stack, en ingls):

PUSH (escribe datos hacia el tope de la pila)


POP (lee datos desde el tope de la pila)
Operaciones de entrada/salida:
Son operaciones que mueven datos de un registro, desde y hacia un puerto; o
de la memoria, desde y hacia un puerto

INPUT Lectura desde un puerto de entrada


OUTPUT Escritura hacia un puerto de salida
Operaciones para el control del flujo del programa:
Llamadas y retornos de subrutinas
Llamadas y retornos de interrupciones
Saltos condicionales de acuerdo al resultado de la
comparaciones
Saltos incondicionales

Operaciones con nmeros reales:


El estndar para las operaciones con nmeros reales en las CPU est definido por
el IEEE 754. Una CPU puede tener operaciones de punto flotante con nmeros reales
mediante el coprocesador numrico (si lo hay), como las siguientes:

Operaciones aritmticas. Suma, resta, multiplicacin, divisin, cambio de


signo, valor absoluto, parte entera
Operaciones trascendentales
Operaciones trigonomtricas. Seno, coseno, tangente, arcotangente
Operaciones con logaritmos, potencias y races

Ejemplo
Un programa escrito en lenguaje ensamblador consiste en una serie de instrucciones
que corresponden al flujo de rdenes ejecutables por un microprocesador.
Por ejemplo, en el lenguaje ensamblador para un procesador x86:
La sentencia
MOV AL, 61h
Asigna el valor hexadecimal 61 (97 decimal) al registro "AL".
El programa ensamblador lee la sentencia de arriba y produce su equivalente binario
en lenguaje de mquina
Binario: 10110000 01100001 (hexadecimal: B61)
El mnemnico MOV es un cdigo de operacin u "opcode". El opcode es seguido por
una lista de argumentos o parmetros, completando una tpica instruccin de
ensamblador. En el ejemplo, AL es un registro de 8 bits del procesador, al cual se le
asignar el valor hexadecimal 61 especificado. El cdigo de mquina generado por el
ensamblador consiste de 2 bytes. El primer byte contiene empaquetado la instruccin
MOV y el cdigo del registro hacia donde se va a mover el dato:

En el segundo byte se especifica el nmero 61h, escrito en binario como 01100001,


que se asignar al registro AL, quedando la sentencia ejecutable como:
10110000 01100001
La cual puede ser entendida y ejecutada directamente por el procesador.

You might also like