lenguaje ensamblador
TRANSCRIPT
![Page 1: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/1.jpg)
“UNIVERSIDAD POLITECNICA AMAZONICA”
CARRERA :CICLO :
TEMA :DOCENTE :INTEGRANTES :
INGENIERIA DE SISTEMAS
MICROPROCESADORES
VII
MARCO AURELIO PORRO CHULLI- Aushuqui quiaco yessenia marilin- CIEZA BELISARIO CRISTIAN DENNIS
CURSO :
Lenguaje ENSAMBLADOR
![Page 2: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/2.jpg)
![Page 3: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/3.jpg)
DEFINICION
INSTRUCCIONES Y REGISTROS
VENTAJAS Y DESVENTAJAS
CARACTERISTICAS
EJEMPLOS
![Page 4: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/4.jpg)
DEFINICION
El lenguaje ensamblador, es un lenguaje de programación de bajo nivel 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 dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador.
![Page 5: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/5.jpg)
CARACTERISTICAS
Su código posee cierta dificultad de ser entendido ya que su estructura es un lenguaje de bajo nivel.
Difícilmente portable, al cambiar a una máquina con arquitectura diferente, generalmente es necesario reescribirlo completamente.
Los programas son más rápidos y consumen menos memoria RAM y ROM. Se tiene un control preciso de las tareas realizadas por un
microprocesador.
se puede controlar el tiempo en que tarda una rutina en ejecutarse, e impedir que se interrumpa durante su ejecución.
![Page 6: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/6.jpg)
VENTAS Y DESVENTAJAS
Al ejecutar un programa, lo procesa más rápido.
Un programa en ensamblador no ocupa mucho espacio en memoria porque no tiene que cargan librerías.
Todo lo que puede hacerse con una máquina, puede hacerse en el lenguaje ensamblador de esta máquina
Se pueden hacer tareas específicas.
![Page 7: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/7.jpg)
VENTAS Y DESVENTAJAS
Como es un lenguaje de bajo nivel requiere más instrucciones para realizar el mismo proceso
Requiere de más cuidado por parte del programador, pues es propenso a que los errores de lógica se reflejen más fuertemente en la ejecución.
requerimos más instrucciones primitivas para describir procesos equivalentes.
Falta de portabilidad, Porque para cada máquina existe un lenguaje ensamblador.
![Page 8: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/8.jpg)
INSTRUCCIONES Y REGISTROS
Tenemos las siguientes instrucciones:
POP, POF, PUSH, PUSHF
LODS, LAHF, LDS, LEA, LES
MOV, MOVS, MOVSB, MOVSW
AND, NEG, NOT, OR, TEST, XOR
ADC, ADD, DIV, IDIV, MUL, IMUL, SBB, SUB
ARITMETICAS LOGICAS CARGA PILATRANSFERENCIA
![Page 9: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/9.jpg)
INSTRUCCIONES Y REGISTROS
Tenemos los siguientes registros:
IP, …OF, DF, IF, TF, SF, ZF, AF, PF, CF
SP, BP
PILA
BP, SI, DIAX, BX, CX, DX
CS, DS, SS, ES, FS, GS
PUNTERO DE INSTRUCCIONBANDERASPUNTEROSPROPOSITO
GENERALSEGMENTO
![Page 10: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/10.jpg)
EJEMPLOS
Programa suma de tres números:
pila segment para stack "stack" dw 32 dup (0) pila ends
datos segment para "datos" num1 dw 20 num2 dw 30 num3 dw ? datos ends
codigo segment para "codigo" empieza proc far …
assume cs: codigo, ds: datos, ss:pila mov ax,datos mov ds,ax mov ax,num1 add ax,num2 mov num3,ax mov dx,num3 mov ax, 4C00H int 21H empieza end p codigo end s end empieza
![Page 11: Lenguaje ensamblador](https://reader036.vdocumento.com/reader036/viewer/2022083105/587915ee1a28abf13a8b4917/html5/thumbnails/11.jpg)
CAMBIAR DE MAYUSCULAS A MINUSCULAS UNA CADENA DE CARACTERES:
pila segment para stack "stack" db 64 dup(0) pila ends
datos segment para "data" v1 db "jklmnopqr" datos ends
codigo segment para "code" empieza proc far
EJEMPLOS