SlideShare una empresa de Scribd logo
1 de 31
Clever Villegas Burga
Jorge Paredes Toledo
http://www.systemsupa.blogspot.pe
Microprocesadores
LENGUAJE ASSEMBLER
Consiste en un conjunto de mnemónicos que representan
instrucciones básicas para los computadores,
microprocesadores, microcontroladores y otros circuitos
integrados programables. Implementa una representación
simbólica de los códigos de máquina binarios y otras constantes
necesarias para programar una arquitectura de procesador y
constituye la representación más directa del código máquina
específico para cada arquitectura legible por un programador.
Definición
• El código escrito en lenguaje ensamblador posee cierta dificultad de ser entendido
ya que su estructura se acerca al lenguaje máquina, es decir, es un lenguaje de
bajo nivel.
• El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para
un microprocesador, puede necesitar ser modificado, para poder ser usado en otra
máquina distinta. Al cambiar a una máquina con arquitectura diferente,
generalmente es necesario reescribirlo completamente.
• Con el lenguaje ensamblador se tiene un control muy preciso de las tareas
realizadas por un microprocesador por lo que se pueden crear segmentos de
código difíciles y/o muy ineficientes de programar en un lenguaje de alto nivel, ya
que, entre otras cosas, en el lenguaje ensamblador se dispone de instrucciones del
CPU que generalmente no están disponibles en los lenguajes de alto nivel.
• También se puede controlar el tiempo en que tarda una rutina en ejecutarse, e
impedir que se interrumpa durante su ejecución.
Características
• Velocidad. - Como trabaja directamente con el microprocesador al ejecutar un
programa, pues como este lenguaje es el más cercano a la máquina la
computadora lo procesa más rápido.
• Eficiencia de tamaño. - Un programa en ensamblador no ocupa mucho espacio en
memoria porque no tiene que cargan librerías y demás como son los lenguajes de
alto nivel.
• Flexibilidad. - Es flexible porque todo lo que puede hacerse con una máquina,
puede hacerse en el lenguaje ensamblador de esta máquina; los lenguajes de alto
nivel tienen en una u otra forma limitantes para explotar al máximo los recursos de
la máquina. O sea que en lenguaje ensamblador se pueden hacer tareas
específicas que en un lenguaje de alto nivel no se pueden llevar acabo porque
tienen ciertas limitantes que no se lo permiten.
Ventajas
• Como es un lenguaje de bajo nivel requiere más instrucciones para realizar el
mismo proceso, en comparación con un lenguaje de alto nivel.
• Por las mismas razones que aumenta el tiempo, crecen los programas fuentes;
simplemente requerimos más instrucciones primitivas para describir procesos
equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los
programas, y nuevamente reduce la productividad de los programadores.
• Peligro de afectar recursos inesperadamente. - Que todo error que podamos
cometer, o todo riesgo que podamos tener, podemos afectar los recursos de la
máquina, programar en este lenguaje lo más común que pueda pasar es que la
máquina se bloquee o se reinicialice. Porque con este lenguaje es perfectamente
posible (y sencillo) realizar secuencias de instrucciones inválidas, que
normalmente no aparecen al usar un lenguaje de alto nivel.
• Falta de portabilidad: Porque para cada máquina existe un lenguaje ensamblador;
por ello, evidentemente no es una selección apropiada de lenguaje cuando
deseamos codificar en una máquina y luego llevar los programas a otros sistemas
operativos o modelos de computadoras.
Desventajas
Son utilizadas para mover los contenidos de los operandos. Cada
instrucción se puede usar con diferentes modos de
direccionamiento.
• MOV
• MOVS (MOVSB) (MOVSW)
Instrucciones de carga Son instrucciones específicas de los registros. Son
usadas para cargar en algún registro bytes o cadenas de bytes.
• LODS (LODSB) (LODSW)
• LAHF
• LDS
• LEA
• LES
Instrucciones
Instrucciones de la pila Estas instrucciones permiten el uso de la
pila para almacenar y extraer datos.
• POP
• POPF
• PUSH
• PUSHF
Instrucciones
• Propósito: Transferencia de datos entre celdas de memoria, registros y
acumulador.
• Sintaxis:
• MOV Destino, Fuente
• Donde Destino es el lugar a donde se moverán los datos y fuente es el lugar donde
se encuentran dichos datos.
• Los diferentes movimientos de datos permitidos para esta instrucción son:
• Destino: memoria. Fuente: acumulador
• Destino: acumulador. Fuente: memoria
• Destino: registro de segmento. Fuente: memoria/registro
• Destino: memoria/registro. Fuente: registro de segmento
• Destino: registro. Fuente: registro
• Destino: registro. Fuente: memoria
• Destino: memoria. Fuente: registro
• Destino: registro. Fuente: dato inmediato
• Destino: memoria. Fuente: dato inmediato
Instrucción MOV
La generación 486 realmente significó contar con una
computadora personal de prestaciones avanzadas, entre ellas,
un conjunto de instrucciones optimizado, una unidad de coma
flotante o FPU, una unidad de interfaz de bus mejorada y una
memoria caché unificada, todo ello integrado en el propio chip
del microprocesador. Estas mejoras hicieron que los i486 fueran
el doble de rápidos que el par i386 - i387 operando a la misma
frecuencia de reloj. El procesador Intel 486 fue el primero en
ofrecer un coprocesador matemático o FPU integrado; con él
que se aceleraron notablemente las operaciones de cálculo
Instrucción MOV
• MOV AX,0006h
• MOV BX, AX
• MOV AX,4C00h
• INT 21H
• Este pequeño programa mueve el valor 0006H al registro AX,
luego mueve el contenido de AX (0006h) al registro BX, por
último, mueve el valor 4C00h al registro AX para terminar la
ejecución con la opción 4C de la interrupción 21h.
Ejemplo
Propósito: Mover cadenas de bytes o palabras desde la fuente, direccionada por SI, hasta el destino
direccionado por DI.
Sintaxis:
• MOVS
Este comando no necesita parámetros ya que toma como dirección fuente el contenido del registro SI y como
destino el contenido de DI. La secuencia de instrucciones siguiente ilustran esto:
• MOV SI, OFFSET VAR1
• MOV DI, OFFSET VAR2
• MOVS
Primero inicializamos los valores de SI y DI con las direcciones de las variables VAR1 y VAR2 respectivamente,
después al ejecutar MOVS se copia el contenido de VAR1 a VAR2.
Los comandos MOVSB y MOVSW se utilizan de la misma forma que MOVS, el primero mueve un byte y el
segundo una palabra.
Instrucción LODS (LODSB) (LODSW)
Propósito: Cargar cadenas de un byte o palabra al acumulador.
Sintaxis:
• LODS
Instrucción MOVS (MOVSB) (MOVSW)
Esta instrucción toma la cadena que se encuentre en la dirección
especificada por SI, la carga al registro AL (o AX) y suma o resta 1
(según el estado de DF) a SI si la transferencia es de bytes o 2 si
la transferencia es de palabras.
• MOV SI, OFFSET VAR1
• LODS
• La primera línea carga la dirección de VAR1 en SI y la segunda
línea lleva el contenido de esa localidad al registro AL.
• Los comandos LODSB y LODSW se utilizan de la misma forma,
el primero carga un byte y el segundo una palabra (utiliza el
registro completo AX).
Propósito: Transfiere al registro AH el contenido de las banderas
• Sintaxis:
• LAHF
Esta instrucción es útil para verificar el estado de las banderas
durante la ejecución de nuestro programa.
Las banderas quedan en el siguiente orden dentro del registro:
• SF ZF ¿? AF ¿? PF ¿? CF
El símbolo "¿?" significa que en esos bits habrá. un valor
indefinido.
Instrucción LAHF
Propósito: Cargar el registro del segmento de datos
• Sintaxis:
• LDS destino, fuente
El operando fuente debe ser una palabra doble en
memoria. La palabra asociada con la dirección más
grande es transferida a DS, o sea que se toma como la
dirección del segmento. La palabra asociada con la
dirección menor es la dirección del desplazamiento y se
deposita en el registro señalado como destino.
Instrucción LDS
Propósito: Carga la dirección del operando fuente.
• Sintaxis:
• LEA destino, fuente
El operando fuente debe estar ubicado en memoria, y se coloca su
desplazamiento en el registro índice o apuntador especificado en destino.
Para ilustrar una de las facilidades que tenemos con este comando pongamos
una equivalencia:
• MOV SI, OFFSET VAR1
• Equivale a:
• LEA SI, VAR1
Es muy probable que para el programador sea más sencillo crear programas
extensos utilizando este último formato.
Instrucción LEA
Propósito: Carga el registro del segmento extra
• Sintaxis:
• LES destino, fuente
El operando fuente debe ser un operando en memoria de
palabra doble. El contenido de la palabra con la dirección mayor
se interpreta como la dirección del segmento y se coloca en ES.
La palabra con la dirección menor es la dirección del
desplazamiento y se coloca en el registro especificado en el
parámetro destino.
Instrucción LES
Propósito: Recupera un dato de la pila
• Sintaxis:
• POP destino
Esta instrucción transfiere el último valor almacenado en la pila
al operando destino, despues incrementa en dos el registro SP.
Este incremento se debe a que la pila va creciendo desde la
dirección más alta de memoria del segmento hacia la más baja, y
la pila solo trabaja con palabras (2 bytes), entonces al
incrementar en dos el registro SP realmente se le está restando
dos al tamaño real de la pila.
Instrucción POP
Propósito: Extrae las banderas almacenadas en la pila.
POPF
Este comando transfiere bits de la palabra almacenada en la parte superior de la pila hacia el registro de
banderas.
• BIT BANDERA
• 0 CF
• 2 PF
• 4 AF
• 6 ZF
• 7 SF
• 8 TF
• 9 IF
• 10 DF
• 11 OF
• Estas localizaciones son las mismas para el comando PUSHF
• Una vez hecha la transferencia se incrementa en 2 el registro SP disminuyendo así el tamaño de la pila.
Instrucción POPF
Propósito: Coloca una palabra en la pila.
• Sintaxis:
• PUSH fuente
La instrucción PUSH decrementa en dos el valor de SP y luego transfiere el
contenido del operando fuente a la nueva dirección resultante en el registro
recién modificado.
El decremento en la dirección se debe a que al agregar valores a la pila ésta
crece de la dirección mayor a la dirección menor del segmento, por lo tanto,
al restarle 2 al valor del registro SP lo que hacemos es aumentar el tamaño de
la pila en dos bytes, que es la única cantidad de información que puede
manejar la pila en cada entrada y salida de datos.
Instrucción PUSH
Propósito: Coloca el valor de las banderas en la pila
• Sintaxis:
• PUSHF
Este comando decrementa en 2 el valor del registro SP
y luego se transfiere el contenido del registro de
banderas a la pila, en la dirección indicada por SP.
Las banderas quedan almacenadas en memoria en los
mismos bits indicados en el comando POPF.
Instrucción PUSHF
Los registros del procesador se emplean para controlar instrucciones en
ejecución, manejar direccionamiento de memoria y proporcionar capacidad
aritmética. Los registros son direccionables por medio de un nombre. Los bits
por convención, se numeran de derecha a izquierda, como en:
Los registros internos del procesador se pueden clasificar en 6 tipos
diferentes.
Registros
Registro de Segmento
Estos registros permiten direccionar la memoria. Los
registros de segmento se utilizan para referenciar áreas de
memoria. La plataforma IA-32 permite direccionar la
memoria según el modelo de memoria lineal o el modelo de
memoria segmentada. El modelo de memoria lineal presenta
todo el espacio de direcciones de la memoria como un
espacio contiguo. Todas las instrucciones, los datos y la pila
se encuentran en el mismo espacio de direcciones de
memoria. Cada posición de memoria se referencia mediante
una dirección específica llamada "dirección lineal".
Registros de propósito general
Almacenan datos y están disponibles para ser
usados por el programador. Los registros de
propósito general se utilizan para almacenar datos
temporalmente. Debido a que estos registros han
evolucionado desde una máquina de 8 bits (el
8080) un grupo de registros aún se puede utilizar
con un tamaño de 8 bits para mantener
compatibilidad con toda la línea de procesadores.
Registros de Apuntadores
Los registros SP (apuntador de la pila) Y BP
(apuntador de base) están asociados con el registro
SS y permiten al sistema accesar datos en el
segmento de la pila. Registro SP. El apuntador de la
pila de 16 bits está asociado con el registro SS y
proporciona un valor de desplazamiento que se
refiere a la palabra actual que está siendo procesada
en la pila. Los procesadores 80386 y posteriores
tienen un apuntador de pila de 32 bits, el registro
ESP. El sistema maneja de forma automática estos
registros.
Registro de Banderas
De los 16 bits del registro de banderas, nueve son comunes a toda la
familia de procesadores 8086, y sirven para indicar el estado actual de la
máquina y el resultado del procesamiento. Muchas instrucciones que
piden comparaciones y aritmética cambian el estado de las banderas,
algunas cuyas instrucciones pueden realizar pruebas para determinar la
acción subsecuente. Las banderas más importantes para la
programación en ensamblador son O, S, Z y C, para operaciones de
comparación y aritméticas, y D para operaciones de cadenas de
caracteres. Los procesadores 80286 y posteriores tienen algunas
banderas usadas para propósitos internos, en especial las que afectan al
modo protegido. Los procesadores 80286 y posteriores tienen un
registro extendido de banderas conocido como Eflags.
Registros de Puntero de instrucción
El registro apuntador de instrucción (eip) o
contador de programa contiene la dirección de
la próxima instrucción a ejecutarse.
Registro de Pila
: La pila es un área de memoria importante y por ello
tiene, en vez de uno, dos registros que se usan como
desplazamiento (offset) para apuntar a su contenido. Se
usan como complemento al registro y son:
-SP- Stack Pointer: Se traduce como puntero de pila y es el
que se reserva el procesador para uso propio en
instrucciones de manipulado de pila. Por lo general, el
programador no debe alterar su contenido.
-BP- Base pointer: Se usa como registro auxiliar. El
programador puede usarlo para su provecho.
Ejemplo
;Programa HOLA MUNDO
DATOS SEGMENT
MENSAJE DB "HOLA MUNDO$"
DATOS ENDS
PILA SEGMENT STACK "STACK"
DB 200 DUP(0)
PILA ENDS
CODIGO SEGMENT
ASSUME CS:CODIGO,DSATOS,SSILA
PRINCIPAL PROC
MOV AX,DATOS
MOV DS,AX
MOV AH,9
MOV DX,OFFSET MENSAJE
INT 21H
MOV AH,4CH
INT 21H
PRINCIPAL ENDP
CODIGO ENDS
END PRINCIPAL
AMD-2013-2014
2014: AMD designó a la Dra. Lisa Su como presidente y directora ejecutiva y
miembro de la junta de directores. Se informó un año fiscal completo de
rentabilidad operativa no relacionada con GAAP. AMD continuó diversificando sus
ingresos, derivando aproximadamente el 40 por ciento de los ingresos de mercados
de alto crecimiento adyacentes al negocio tradicional de PC.
Nuevo perfil de la deuda, llevando la mayoría del vencimiento de deuda a 2019 y
años posteriores.
2013: La tecnología de AMD está dentro de cada consola de juegos importante de
próxima generación y sistema de entretenimiento del hogar: Xbox One de Microsoft,
PS4™ de Sony y Wii U de Nintendo.
AMD lanzó los procesadores AMD Opteron™ Serie X, los procesadores para servidor
x86 de núcleo pequeño y de mayor rendimiento en la industria4.
AMD-2015-2016
Como conclusión podemos decir que el lenguaje ensamblador es más
que un tipo de lenguaje de bajo nivel en el cual es empleado para crear
programas informáticos.
Este lenguaje es creado a base de instrucciones para intentar sustituir al
lenguaje maquina por uno similar utilizado por el hombre.
La importancia de este es que en él se pueden hacer cualquier tipo de
programas que en otros lenguajes de alto nivel no, al igual que ocupan
menos espacio en la memoria.
Una de las cosas importantes es que está ocupado al diseño de las
tarjetas madres, cosa que un programa común no podría hacer.
LINKOGRAFÍA
• https://es.wikipedia.org/wiki/Lenguaje_ensamblador#Cara
cter.C3.ADsticas
• http://www.angelfire.com/ak5/seccion-
academica/Ventajas_y_desventajas_del_Lenguaje_Ensamb
lador.htm
• http://learnassembler.com/registro.html
• https://lenguajeensambladoryelementos.wordpress.com/2
013/04/30/registros/
• http://moisesrbb.tripod.com/unidad3.htm
• http://www.taringa.net/post/hazlo-tu-
mismo/14201465/Lenguaje-Ensamblador-Lo-basico-con-
ejemplos.html

Más contenido relacionado

La actualidad más candente

Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoriaALASBLANKS
 
Análisis del Proyecto de Software
Análisis del Proyecto de SoftwareAnálisis del Proyecto de Software
Análisis del Proyecto de SoftwareMaricela Ramirez
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareJahiro Bojorquez
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 
Diferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónAngel Aguilar
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazXavi Flores
 
Metodologia web
Metodologia webMetodologia web
Metodologia webAnel Sosa
 
Tema N° 14 Especificación de Requisitos del Software
Tema N° 14 Especificación de Requisitos del SoftwareTema N° 14 Especificación de Requisitos del Software
Tema N° 14 Especificación de Requisitos del SoftwareSaraEAlcntaraR
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraAlexandraMolinaSanchez
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Rubi Veronica Chimal Cuxin
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Introducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareIntroducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareSorey García
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSxinithazangels
 

La actualidad más candente (20)

Tema 2: Procesadores superescalares.
Tema 2: Procesadores superescalares.Tema 2: Procesadores superescalares.
Tema 2: Procesadores superescalares.
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Computadores RISC
Computadores RISCComputadores RISC
Computadores RISC
 
Análisis del Proyecto de Software
Análisis del Proyecto de SoftwareAnálisis del Proyecto de Software
Análisis del Proyecto de Software
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
Diferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organización
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Metodologia web
Metodologia webMetodologia web
Metodologia web
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Tema N° 14 Especificación de Requisitos del Software
Tema N° 14 Especificación de Requisitos del SoftwareTema N° 14 Especificación de Requisitos del Software
Tema N° 14 Especificación de Requisitos del Software
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
Archivo Secuencial
Archivo SecuencialArchivo Secuencial
Archivo Secuencial
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Introducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareIntroducción a la Ingenieria de Software
Introducción a la Ingenieria de Software
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOS
 

Destacado

GTD Summit 2016 - Anne Shaw, Birmingham City Council
GTD Summit 2016 - Anne Shaw, Birmingham City CouncilGTD Summit 2016 - Anne Shaw, Birmingham City Council
GTD Summit 2016 - Anne Shaw, Birmingham City CouncilJoe Green
 
Vistas en sql
Vistas en sqlVistas en sql
Vistas en sqlDEYSY1234
 
Saudi aramco ipo - a reality of mythical proportions
Saudi aramco ipo - a reality of mythical proportionsSaudi aramco ipo - a reality of mythical proportions
Saudi aramco ipo - a reality of mythical proportionsAranca
 
Tecnología y gestión de la información
Tecnología y gestión de la informaciónTecnología y gestión de la información
Tecnología y gestión de la informaciónCARLOS MAYO
 
Transport for the West Midlands? (14.09.2016)
Transport for the West Midlands? (14.09.2016)Transport for the West Midlands? (14.09.2016)
Transport for the West Midlands? (14.09.2016)Joe Green
 
Workshop Technische Unie
Workshop Technische Unie Workshop Technische Unie
Workshop Technische Unie Laura Calot
 
Introduction to Farm Equipment, Fittings, Gadgets and Their Working
Introduction to Farm Equipment, Fittings, Gadgets and Their WorkingIntroduction to Farm Equipment, Fittings, Gadgets and Their Working
Introduction to Farm Equipment, Fittings, Gadgets and Their WorkingNaeem Tahir
 
Laboratorio del display
Laboratorio del displayLaboratorio del display
Laboratorio del displaydani9609
 
15 cara jitu membuat artikel seo agar halaman
15 cara jitu membuat artikel seo agar halaman15 cara jitu membuat artikel seo agar halaman
15 cara jitu membuat artikel seo agar halamanM. Sahil Luqman
 
Paper_Plastic_Eating
Paper_Plastic_EatingPaper_Plastic_Eating
Paper_Plastic_EatingAlicia Pruitt
 
Lenguaje ensamblador
Lenguaje ensamblador   Lenguaje ensamblador
Lenguaje ensamblador duvalin02
 

Destacado (16)

GTD Summit 2016 - Anne Shaw, Birmingham City Council
GTD Summit 2016 - Anne Shaw, Birmingham City CouncilGTD Summit 2016 - Anne Shaw, Birmingham City Council
GTD Summit 2016 - Anne Shaw, Birmingham City Council
 
Vistas en sql
Vistas en sqlVistas en sql
Vistas en sql
 
SEXTING
SEXTINGSEXTING
SEXTING
 
Saudi aramco ipo - a reality of mythical proportions
Saudi aramco ipo - a reality of mythical proportionsSaudi aramco ipo - a reality of mythical proportions
Saudi aramco ipo - a reality of mythical proportions
 
Tecnología y gestión de la información
Tecnología y gestión de la informaciónTecnología y gestión de la información
Tecnología y gestión de la información
 
UPARSITEM
UPARSITEM UPARSITEM
UPARSITEM
 
Training All Slides Presentation April
Training All Slides Presentation  AprilTraining All Slides Presentation  April
Training All Slides Presentation April
 
Transport for the West Midlands? (14.09.2016)
Transport for the West Midlands? (14.09.2016)Transport for the West Midlands? (14.09.2016)
Transport for the West Midlands? (14.09.2016)
 
Workshop Technische Unie
Workshop Technische Unie Workshop Technische Unie
Workshop Technische Unie
 
Introduction to Farm Equipment, Fittings, Gadgets and Their Working
Introduction to Farm Equipment, Fittings, Gadgets and Their WorkingIntroduction to Farm Equipment, Fittings, Gadgets and Their Working
Introduction to Farm Equipment, Fittings, Gadgets and Their Working
 
Laboratorio del display
Laboratorio del displayLaboratorio del display
Laboratorio del display
 
Pic16f84(1)
Pic16f84(1)Pic16f84(1)
Pic16f84(1)
 
Tiết niệu
Tiết niệuTiết niệu
Tiết niệu
 
15 cara jitu membuat artikel seo agar halaman
15 cara jitu membuat artikel seo agar halaman15 cara jitu membuat artikel seo agar halaman
15 cara jitu membuat artikel seo agar halaman
 
Paper_Plastic_Eating
Paper_Plastic_EatingPaper_Plastic_Eating
Paper_Plastic_Eating
 
Lenguaje ensamblador
Lenguaje ensamblador   Lenguaje ensamblador
Lenguaje ensamblador
 

Similar a Lenguaje ensamblador: definición, características, instrucciones básicas

Similar a Lenguaje ensamblador: definición, características, instrucciones básicas (20)

Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Lenguaje assembler
Lenguaje assemblerLenguaje assembler
Lenguaje assembler
 
LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Las instrucciones del ensamblador
Las instrucciones del ensambladorLas instrucciones del ensamblador
Las instrucciones del ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Tercer blog arquitectura de hardware tercer corte
Tercer blog arquitectura de hardware tercer corteTercer blog arquitectura de hardware tercer corte
Tercer blog arquitectura de hardware tercer corte
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
Lenguaje Ensamblador00
Lenguaje Ensamblador00Lenguaje Ensamblador00
Lenguaje Ensamblador00
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Estructura .COM
Estructura .COMEstructura .COM
Estructura .COM
 
Lenguaje ensamblador.docx
Lenguaje ensamblador.docxLenguaje ensamblador.docx
Lenguaje ensamblador.docx
 
Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Arranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con AssemblerArranque de Sistema Operativo con Assembler
Arranque de Sistema Operativo con Assembler
 

Más de Jorge Paredes Toledo (20)

Subneteo de Redes
Subneteo de RedesSubneteo de Redes
Subneteo de Redes
 
Modelo de referencia TCP - IP
Modelo de referencia TCP - IPModelo de referencia TCP - IP
Modelo de referencia TCP - IP
 
Modelo osi
Modelo   osiModelo   osi
Modelo osi
 
IP
IPIP
IP
 
Dispositivos de Red - Transmisión de Datos
Dispositivos de Red - Transmisión de DatosDispositivos de Red - Transmisión de Datos
Dispositivos de Red - Transmisión de Datos
 
TRANSMISIÓN DE DATOS-Clasificación de Redes
TRANSMISIÓN DE DATOS-Clasificación de RedesTRANSMISIÓN DE DATOS-Clasificación de Redes
TRANSMISIÓN DE DATOS-Clasificación de Redes
 
TRANSMISION DE DATOS
TRANSMISION DE DATOSTRANSMISION DE DATOS
TRANSMISION DE DATOS
 
ARRAY BIDIMENSIONAL
ARRAY BIDIMENSIONALARRAY BIDIMENSIONAL
ARRAY BIDIMENSIONAL
 
Arreglos - Assembler
Arreglos - AssemblerArreglos - Assembler
Arreglos - Assembler
 
Ciclos
CiclosCiclos
Ciclos
 
SALTO CONDICIONAL
SALTO CONDICIONALSALTO CONDICIONAL
SALTO CONDICIONAL
 
PROGRAMACION DE MICROCONTROLADOR
PROGRAMACION DE MICROCONTROLADORPROGRAMACION DE MICROCONTROLADOR
PROGRAMACION DE MICROCONTROLADOR
 
MICROCONTROLADOR
MICROCONTROLADORMICROCONTROLADOR
MICROCONTROLADOR
 
ARQUITECTURA RISC
ARQUITECTURA RISCARQUITECTURA RISC
ARQUITECTURA RISC
 
ARQUITECTURA CISC
ARQUITECTURA CISCARQUITECTURA CISC
ARQUITECTURA CISC
 
MICROPROCESADORES
MICROPROCESADORESMICROPROCESADORES
MICROPROCESADORES
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Vistas
Vistas Vistas
Vistas
 
Lenguaje Transact SQL
Lenguaje Transact SQL Lenguaje Transact SQL
Lenguaje Transact SQL
 

Último

Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 

Último (20)

Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 

Lenguaje ensamblador: definición, características, instrucciones básicas

  • 1. Clever Villegas Burga Jorge Paredes Toledo http://www.systemsupa.blogspot.pe Microprocesadores LENGUAJE ASSEMBLER
  • 2. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Definición
  • 3. • El código escrito en lenguaje ensamblador posee cierta dificultad de ser entendido ya que su estructura se acerca al lenguaje máquina, es decir, es un lenguaje de bajo nivel. • El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un microprocesador, puede necesitar ser modificado, para poder ser usado en otra máquina distinta. Al cambiar a una máquina con arquitectura diferente, generalmente es necesario reescribirlo completamente. • Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de código difíciles y/o muy ineficientes de programar en un lenguaje de alto nivel, ya que, entre otras cosas, en el lenguaje ensamblador se dispone de instrucciones del CPU que generalmente no están disponibles en los lenguajes de alto nivel. • También se puede controlar el tiempo en que tarda una rutina en ejecutarse, e impedir que se interrumpa durante su ejecución. Características
  • 4. • Velocidad. - Como trabaja directamente con el microprocesador al ejecutar un programa, pues como este lenguaje es el más cercano a la máquina la computadora lo procesa más rápido. • Eficiencia de tamaño. - Un programa en ensamblador no ocupa mucho espacio en memoria porque no tiene que cargan librerías y demás como son los lenguajes de alto nivel. • Flexibilidad. - Es flexible porque todo lo que puede hacerse con una máquina, puede hacerse en el lenguaje ensamblador de esta máquina; los lenguajes de alto nivel tienen en una u otra forma limitantes para explotar al máximo los recursos de la máquina. O sea que en lenguaje ensamblador se pueden hacer tareas específicas que en un lenguaje de alto nivel no se pueden llevar acabo porque tienen ciertas limitantes que no se lo permiten. Ventajas
  • 5. • Como es un lenguaje de bajo nivel requiere más instrucciones para realizar el mismo proceso, en comparación con un lenguaje de alto nivel. • Por las mismas razones que aumenta el tiempo, crecen los programas fuentes; simplemente requerimos más instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores. • Peligro de afectar recursos inesperadamente. - Que todo error que podamos cometer, o todo riesgo que podamos tener, podemos afectar los recursos de la máquina, programar en este lenguaje lo más común que pueda pasar es que la máquina se bloquee o se reinicialice. Porque con este lenguaje es perfectamente posible (y sencillo) realizar secuencias de instrucciones inválidas, que normalmente no aparecen al usar un lenguaje de alto nivel. • Falta de portabilidad: Porque para cada máquina existe un lenguaje ensamblador; por ello, evidentemente no es una selección apropiada de lenguaje cuando deseamos codificar en una máquina y luego llevar los programas a otros sistemas operativos o modelos de computadoras. Desventajas
  • 6. Son utilizadas para mover los contenidos de los operandos. Cada instrucción se puede usar con diferentes modos de direccionamiento. • MOV • MOVS (MOVSB) (MOVSW) Instrucciones de carga Son instrucciones específicas de los registros. Son usadas para cargar en algún registro bytes o cadenas de bytes. • LODS (LODSB) (LODSW) • LAHF • LDS • LEA • LES Instrucciones
  • 7. Instrucciones de la pila Estas instrucciones permiten el uso de la pila para almacenar y extraer datos. • POP • POPF • PUSH • PUSHF Instrucciones
  • 8. • Propósito: Transferencia de datos entre celdas de memoria, registros y acumulador. • Sintaxis: • MOV Destino, Fuente • Donde Destino es el lugar a donde se moverán los datos y fuente es el lugar donde se encuentran dichos datos. • Los diferentes movimientos de datos permitidos para esta instrucción son: • Destino: memoria. Fuente: acumulador • Destino: acumulador. Fuente: memoria • Destino: registro de segmento. Fuente: memoria/registro • Destino: memoria/registro. Fuente: registro de segmento • Destino: registro. Fuente: registro • Destino: registro. Fuente: memoria • Destino: memoria. Fuente: registro • Destino: registro. Fuente: dato inmediato • Destino: memoria. Fuente: dato inmediato Instrucción MOV
  • 9. La generación 486 realmente significó contar con una computadora personal de prestaciones avanzadas, entre ellas, un conjunto de instrucciones optimizado, una unidad de coma flotante o FPU, una unidad de interfaz de bus mejorada y una memoria caché unificada, todo ello integrado en el propio chip del microprocesador. Estas mejoras hicieron que los i486 fueran el doble de rápidos que el par i386 - i387 operando a la misma frecuencia de reloj. El procesador Intel 486 fue el primero en ofrecer un coprocesador matemático o FPU integrado; con él que se aceleraron notablemente las operaciones de cálculo Instrucción MOV
  • 10. • MOV AX,0006h • MOV BX, AX • MOV AX,4C00h • INT 21H • Este pequeño programa mueve el valor 0006H al registro AX, luego mueve el contenido de AX (0006h) al registro BX, por último, mueve el valor 4C00h al registro AX para terminar la ejecución con la opción 4C de la interrupción 21h. Ejemplo
  • 11. Propósito: Mover cadenas de bytes o palabras desde la fuente, direccionada por SI, hasta el destino direccionado por DI. Sintaxis: • MOVS Este comando no necesita parámetros ya que toma como dirección fuente el contenido del registro SI y como destino el contenido de DI. La secuencia de instrucciones siguiente ilustran esto: • MOV SI, OFFSET VAR1 • MOV DI, OFFSET VAR2 • MOVS Primero inicializamos los valores de SI y DI con las direcciones de las variables VAR1 y VAR2 respectivamente, después al ejecutar MOVS se copia el contenido de VAR1 a VAR2. Los comandos MOVSB y MOVSW se utilizan de la misma forma que MOVS, el primero mueve un byte y el segundo una palabra. Instrucción LODS (LODSB) (LODSW) Propósito: Cargar cadenas de un byte o palabra al acumulador. Sintaxis: • LODS Instrucción MOVS (MOVSB) (MOVSW)
  • 12. Esta instrucción toma la cadena que se encuentre en la dirección especificada por SI, la carga al registro AL (o AX) y suma o resta 1 (según el estado de DF) a SI si la transferencia es de bytes o 2 si la transferencia es de palabras. • MOV SI, OFFSET VAR1 • LODS • La primera línea carga la dirección de VAR1 en SI y la segunda línea lleva el contenido de esa localidad al registro AL. • Los comandos LODSB y LODSW se utilizan de la misma forma, el primero carga un byte y el segundo una palabra (utiliza el registro completo AX).
  • 13. Propósito: Transfiere al registro AH el contenido de las banderas • Sintaxis: • LAHF Esta instrucción es útil para verificar el estado de las banderas durante la ejecución de nuestro programa. Las banderas quedan en el siguiente orden dentro del registro: • SF ZF ¿? AF ¿? PF ¿? CF El símbolo "¿?" significa que en esos bits habrá. un valor indefinido. Instrucción LAHF
  • 14. Propósito: Cargar el registro del segmento de datos • Sintaxis: • LDS destino, fuente El operando fuente debe ser una palabra doble en memoria. La palabra asociada con la dirección más grande es transferida a DS, o sea que se toma como la dirección del segmento. La palabra asociada con la dirección menor es la dirección del desplazamiento y se deposita en el registro señalado como destino. Instrucción LDS
  • 15. Propósito: Carga la dirección del operando fuente. • Sintaxis: • LEA destino, fuente El operando fuente debe estar ubicado en memoria, y se coloca su desplazamiento en el registro índice o apuntador especificado en destino. Para ilustrar una de las facilidades que tenemos con este comando pongamos una equivalencia: • MOV SI, OFFSET VAR1 • Equivale a: • LEA SI, VAR1 Es muy probable que para el programador sea más sencillo crear programas extensos utilizando este último formato. Instrucción LEA
  • 16. Propósito: Carga el registro del segmento extra • Sintaxis: • LES destino, fuente El operando fuente debe ser un operando en memoria de palabra doble. El contenido de la palabra con la dirección mayor se interpreta como la dirección del segmento y se coloca en ES. La palabra con la dirección menor es la dirección del desplazamiento y se coloca en el registro especificado en el parámetro destino. Instrucción LES
  • 17. Propósito: Recupera un dato de la pila • Sintaxis: • POP destino Esta instrucción transfiere el último valor almacenado en la pila al operando destino, despues incrementa en dos el registro SP. Este incremento se debe a que la pila va creciendo desde la dirección más alta de memoria del segmento hacia la más baja, y la pila solo trabaja con palabras (2 bytes), entonces al incrementar en dos el registro SP realmente se le está restando dos al tamaño real de la pila. Instrucción POP
  • 18. Propósito: Extrae las banderas almacenadas en la pila. POPF Este comando transfiere bits de la palabra almacenada en la parte superior de la pila hacia el registro de banderas. • BIT BANDERA • 0 CF • 2 PF • 4 AF • 6 ZF • 7 SF • 8 TF • 9 IF • 10 DF • 11 OF • Estas localizaciones son las mismas para el comando PUSHF • Una vez hecha la transferencia se incrementa en 2 el registro SP disminuyendo así el tamaño de la pila. Instrucción POPF
  • 19. Propósito: Coloca una palabra en la pila. • Sintaxis: • PUSH fuente La instrucción PUSH decrementa en dos el valor de SP y luego transfiere el contenido del operando fuente a la nueva dirección resultante en el registro recién modificado. El decremento en la dirección se debe a que al agregar valores a la pila ésta crece de la dirección mayor a la dirección menor del segmento, por lo tanto, al restarle 2 al valor del registro SP lo que hacemos es aumentar el tamaño de la pila en dos bytes, que es la única cantidad de información que puede manejar la pila en cada entrada y salida de datos. Instrucción PUSH
  • 20. Propósito: Coloca el valor de las banderas en la pila • Sintaxis: • PUSHF Este comando decrementa en 2 el valor del registro SP y luego se transfiere el contenido del registro de banderas a la pila, en la dirección indicada por SP. Las banderas quedan almacenadas en memoria en los mismos bits indicados en el comando POPF. Instrucción PUSHF
  • 21. Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionables por medio de un nombre. Los bits por convención, se numeran de derecha a izquierda, como en: Los registros internos del procesador se pueden clasificar en 6 tipos diferentes. Registros
  • 22. Registro de Segmento Estos registros permiten direccionar la memoria. Los registros de segmento se utilizan para referenciar áreas de memoria. La plataforma IA-32 permite direccionar la memoria según el modelo de memoria lineal o el modelo de memoria segmentada. El modelo de memoria lineal presenta todo el espacio de direcciones de la memoria como un espacio contiguo. Todas las instrucciones, los datos y la pila se encuentran en el mismo espacio de direcciones de memoria. Cada posición de memoria se referencia mediante una dirección específica llamada "dirección lineal".
  • 23. Registros de propósito general Almacenan datos y están disponibles para ser usados por el programador. Los registros de propósito general se utilizan para almacenar datos temporalmente. Debido a que estos registros han evolucionado desde una máquina de 8 bits (el 8080) un grupo de registros aún se puede utilizar con un tamaño de 8 bits para mantener compatibilidad con toda la línea de procesadores.
  • 24. Registros de Apuntadores Los registros SP (apuntador de la pila) Y BP (apuntador de base) están asociados con el registro SS y permiten al sistema accesar datos en el segmento de la pila. Registro SP. El apuntador de la pila de 16 bits está asociado con el registro SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila. Los procesadores 80386 y posteriores tienen un apuntador de pila de 32 bits, el registro ESP. El sistema maneja de forma automática estos registros.
  • 25. Registro de Banderas De los 16 bits del registro de banderas, nueve son comunes a toda la familia de procesadores 8086, y sirven para indicar el estado actual de la máquina y el resultado del procesamiento. Muchas instrucciones que piden comparaciones y aritmética cambian el estado de las banderas, algunas cuyas instrucciones pueden realizar pruebas para determinar la acción subsecuente. Las banderas más importantes para la programación en ensamblador son O, S, Z y C, para operaciones de comparación y aritméticas, y D para operaciones de cadenas de caracteres. Los procesadores 80286 y posteriores tienen algunas banderas usadas para propósitos internos, en especial las que afectan al modo protegido. Los procesadores 80286 y posteriores tienen un registro extendido de banderas conocido como Eflags.
  • 26. Registros de Puntero de instrucción El registro apuntador de instrucción (eip) o contador de programa contiene la dirección de la próxima instrucción a ejecutarse.
  • 27. Registro de Pila : La pila es un área de memoria importante y por ello tiene, en vez de uno, dos registros que se usan como desplazamiento (offset) para apuntar a su contenido. Se usan como complemento al registro y son: -SP- Stack Pointer: Se traduce como puntero de pila y es el que se reserva el procesador para uso propio en instrucciones de manipulado de pila. Por lo general, el programador no debe alterar su contenido. -BP- Base pointer: Se usa como registro auxiliar. El programador puede usarlo para su provecho.
  • 28. Ejemplo ;Programa HOLA MUNDO DATOS SEGMENT MENSAJE DB "HOLA MUNDO$" DATOS ENDS PILA SEGMENT STACK "STACK" DB 200 DUP(0) PILA ENDS CODIGO SEGMENT ASSUME CS:CODIGO,DSATOS,SSILA PRINCIPAL PROC MOV AX,DATOS MOV DS,AX MOV AH,9 MOV DX,OFFSET MENSAJE INT 21H MOV AH,4CH INT 21H PRINCIPAL ENDP CODIGO ENDS END PRINCIPAL
  • 29. AMD-2013-2014 2014: AMD designó a la Dra. Lisa Su como presidente y directora ejecutiva y miembro de la junta de directores. Se informó un año fiscal completo de rentabilidad operativa no relacionada con GAAP. AMD continuó diversificando sus ingresos, derivando aproximadamente el 40 por ciento de los ingresos de mercados de alto crecimiento adyacentes al negocio tradicional de PC. Nuevo perfil de la deuda, llevando la mayoría del vencimiento de deuda a 2019 y años posteriores. 2013: La tecnología de AMD está dentro de cada consola de juegos importante de próxima generación y sistema de entretenimiento del hogar: Xbox One de Microsoft, PS4™ de Sony y Wii U de Nintendo. AMD lanzó los procesadores AMD Opteron™ Serie X, los procesadores para servidor x86 de núcleo pequeño y de mayor rendimiento en la industria4.
  • 30. AMD-2015-2016 Como conclusión podemos decir que el lenguaje ensamblador es más que un tipo de lenguaje de bajo nivel en el cual es empleado para crear programas informáticos. Este lenguaje es creado a base de instrucciones para intentar sustituir al lenguaje maquina por uno similar utilizado por el hombre. La importancia de este es que en él se pueden hacer cualquier tipo de programas que en otros lenguajes de alto nivel no, al igual que ocupan menos espacio en la memoria. Una de las cosas importantes es que está ocupado al diseño de las tarjetas madres, cosa que un programa común no podría hacer.
  • 31. LINKOGRAFÍA • https://es.wikipedia.org/wiki/Lenguaje_ensamblador#Cara cter.C3.ADsticas • http://www.angelfire.com/ak5/seccion- academica/Ventajas_y_desventajas_del_Lenguaje_Ensamb lador.htm • http://learnassembler.com/registro.html • https://lenguajeensambladoryelementos.wordpress.com/2 013/04/30/registros/ • http://moisesrbb.tripod.com/unidad3.htm • http://www.taringa.net/post/hazlo-tu- mismo/14201465/Lenguaje-Ensamblador-Lo-basico-con- ejemplos.html