SlideShare una empresa de Scribd logo
Universidad Fermín Toro
Departamento de Formación General
Escuela de Ingeniería
Cabudare
Cabudare 2017
Integrante:
Edianny Adan
C.I 26370562
ASSEMBLER 8086
¿QUE ES EL LENGUAJE ENSAMBLADOR?
El lenguaje ensamblador es un lenguaje de programación que está dedicado a
escribir programas de bajo nivel; ejerce control sumamente directo al hardware,
la palabra bajo hace referencia a una reducida abstracción entre lo que es el
lenguaje y el hardware; los programas de bajo nivel son hechos para
controladores, aplicaciones especializadas en tiempo real, entre otras. El
lenguaje ensamblador trabaja directamente con el microprocesador de una
máquina.
ESTRUCTURA DE UN PROGRAMA ENSAMBLADOR
En el lenguaje ensamblador las líneas de código constan de dos partes, la
primera es el nombre de la instrucción que se va a ejecutar y la segunda son los
parámetros del comando u operando. Para hacer la terea del programador mas
grata, se unen algunas convenciones. Cada uno puede adoptar la que mas le
agrade y le ayuden a ser mas productivo. En general las convenciones son
cualquier acción que facilita la revisión y comprensión de un programa.
EJEMPLO
ADD ah bh Aquí "ADD" es el comando a ejecutar (en este caso una adición o suma) y
tanto "ah" como "bh" son los parámetros. El nombre de las instrucciones en este
lenguaje puede estar formado de 2 a 6 letras, a estas instrucciones también se les llama
nombres mnemónicos o códigos de operación, ya que representan alguna función que
habrá de realizar el procesador. Existen algunos comandos que no requieren
parámetros para su operación, así como otros que requieren solo un parámetro.
Algunas veces se utilizarán las instrucciones como sigue: ADD al,[170] Los corchetes
en el segundo parámetro nos indican que vamos a trabajar con el contenido de la
casilla de memoria número 170 y no con el valor 170, a esto se le conoce como
direccionamiento directo (en la instrucción viene la dirección del objeto).
LAS DIRECTIVAS INICIALES DE UN PROGRAMA EN
ASSEMBLER
las directivas son usadas para especificar la organización de memoria, realizar ensamblado condicional, definir
macros, entrada, salida, control de archivos, listados, cross-reference, direcciones e información acerca de la
estructura de un programa y las declaraciones de datos. El apéndice D proporciona una lista completa de estas
directivas. •Conjunto de instrucciones. Dentro de las directivas más importantes, tenemos las que establecen el
conjunto de instrucciones a soportar para un microprocesador en especial:
•.8086(default).- Activa las instrucciones para el 8086 y 8088 e inhibe las del 80186 y 80286.
•.8087(default).- Activa instrucciones para el 8087 y desactiva las del 80287.
•.186.- Activa las instrucciones del 80186
•.286c.- Activa instrucciones del 80286 en modo no protegido.
•.289p.- Activa instrucciones del 80286 en modo protegido y no protegido.
Directiva
DB
DW
DD
DF,DP
DQ
DT
Define
1 byte
2 bytes = una palabra
4 bytes = una doble palabra
6 bytes = un apuntador de palabra far
8 bytes = un quadpalabra
10 bytes
LAS INTERRUPCIONES 21H, 09H, 10H.
Una interrupción es una instrucción que detiene la ejecución de un programa para permitir el uso de
la UCP a un proceso prioritario. Una vez concluido este último proceso se devuelve el control a la
aplicación anterior.
Interrupción 21H
Propósito: Llamar a diversas funciones del DOS.
Sintaxis: Int 21H
Nota: Cuando trabajamos en MASM es necesario especificar que el valor que estamos utilizando es
hexadecimal. Esta interrupción tiene varias funciones, para acceder a cada una de ellas es necesario
que el registro AH se encuentre el número de función que se requiera al momento de llamar a la
interrupción.
Función 09H
Uso: Despliega una cadena de caracteres en la pantalla.
Registros de llamada: AH = 09H DS:DX = Dirección de inicio de una cadena de caracteres
Registros de retorno: Ninguno. Esta función despliega los caracteres, uno a uno, desde la dirección indicada en el registro DS:DX hasta encontrar un
carácter $, que es interpretado como el final de la cadena. Se recomienda utilizar la función 40H en lugar de esta función.
Función 40H
Uso: Escribir a un dispositivo o a un archivo.
Registros de llamada: AH = 40H BX = Vía de comunicación CX = Cantidad de bytes a escribir
DS:DX = Dirección del inicio de los datos a escribir
Registros de retorno: CF = 0 si no hubo error AX = Número de bytes escritos CF = 1 si hubo error AX = Código de error
El uso de esta función para desplegar información en pantalla se realiza dándole al registro BX el valor de 1 que es el valor pre asignado al video por
el sistema operativo MS-DOS
. Función 01H
Uso: Leer un carácter del teclado y desplegarlo.
Registros de llamada: AH = 01H
Registros de retorno: AL = Carácter leído Con esta función es muy sencillo leer un carácter del teclado, el código hexadecimal del carácter leído se
guarda en el registro AL. En caso de que sea un carácter extendido el registro AL contendrá el valor de 0 y será necesario llamar de nuevo a la función
para obtener el código de este carácter.
Interrupción 10H
Propósito: Llamar a diversas funciones de video del BIOS.
Sintaxis: Int 10H
Esta interrupción tiene diversas funciones, todas ellas nos sirven para
controlar la entrada y salida de video, la forma de acceso a cada una de las
opciones es por medio del registro AH.
Función 02H
Uso: Posiciona el cursor en la pantalla dentro de las coordenadas válidas de
texto. Registros de llamada:
AH = 02H
BH = Página de video en la que se posicionará el cursor.
DH = Fila DL = Columna Registros de retorno: Ninguno. Las posiciones de
localización del cursor son definidas por coordenadas iniciando en 0,0, que
corresponde a la esquina superior izquierda hasta 79,24 correspondientes a la
esquina inferior derecha. Tenemos entonces que los valores que pueden tomar
los registros DH y DL en modo de texto de 80 x 25 son de 0 hasta 24 y de 0
hasta 79 respectivamente.
Función 09H
Uso: Desplegar un carácter un determinado número de veces con un atributo definido empezando en la posición
actual del cursor.
Registros de llamada:
AH = 09H AL = Carácter a desplegar
BH = Página de video en donde se desplegará
BL = Atributo a usar Número de repeticiones.
Registros de retorno: Ninguno Esta función despliega un carácter el número de veces especificado en CX pero sin
cambiar la posición del cursor en la pantalla.
Función 0AH
Uso: Desplegar un carácter en la posición actual del cursor. Registros de llamada:
AH = 0AH AL = Carácter a desplegar
BH = Página en donde desplegar
BL = Color a usar (sólo en gráficos).
CX = Número de repeticiones
Registros de retorno: Ninguno. La única diferencia entre esta función y la anterior es que ésta no permite modificar
los atributos, simplemente usa los atributos actuales. Tampoco se altera la posición del cursor con esta función.
Función 0EH
Uso: Desplegar un carácter en la pantalla actualizando la posición del cursor.
Registros de llamada:
AH = 0EH AL = Carácter a desplegar
BH = Página donde se desplegara el carácter
BL = Color a usar (solo en gráficos)
INSTRUCCIONES PARA LEER UN CARACTER EN
PANTALLA
• Código para leer carácter con eco
mov ah,01h ;petición de leer carácter
int 21h ;llama al DOS
la función 01h indica la operación para leer un carácter desde el teclado, carácter con eco quiere decir: que cuando pulsas un
carácter se imprime en la pantalla enseguida
• Código para leer carácter sin eco
mov ah,07h ;petición de leer carácter
int 21h ;llama al DOS
la función 07h o también 08h ambas indica la operación para leer un carácter desde el teclado, carácter sin eco quiere decir:
que cuando pulsas un carácter no es impreso el carácter pulsado hasta que se manda imprimir con otra función.
INTRUCCIONES PARA SUMAR Y RESTAR 2
NUMEROS
Ejemplo: Suma el 2793H y el 3182H y guarda el resultado en la locación de memoria 2050H y
2051H. Suponga que los números se encuentran en BC y DE respectivamente
Condiciones Iníciales
Memória
2050 XX
2051 XX
B 27 93 C
D31 82 E
LD A,C ADD A,E A 93 XX F
A 15 CY =1 F 93H + 82H =115H
LD L,A LD A, H 15 L 1H + 31H + 27H =59H
D ADC A, A 31 CY =1 F
LD H,A LD H 59 15 L
(2050H),HL A59 CY= 0F
2050 15 H
2051 59 H
EJEMPLO
Model small
.satck 100
.data
Variable1 db 0
Variable2 db 0
Linea db 13,10, “$”
Num1 db 13,10 , “ingrese numero 1: ” ; “$”
Num2 db 13,10 , “ingrese numero 2 : ”; “$’
msn1 db 13,10 , “suma : “ ; “$”
msn2 db 13,10 , “resta : ” ; “$”
.code
.startup
Mov ah .09h
Lea dx
Int 21h
Call leer
Sub al, 30h
Mov variable , al
Mov ah, 09h
Lea dx , num2
Int 21h
Call leer
Sub al , 30h
Mov variable2, al
Mov bl, variable 2 ;
Suma
Add variable 1
Mov ah, 09h
Lea dx, msn1
Int 21h
Mov dl,bl
Add dl, 30h
Mov ah, 02h
Int 21h
exit
FIN…

Más contenido relacionado

La actualidad más candente

BIOS, CMOS, PILA Y RELOJ, SLOTS DE EXPANSIÓN
BIOS, CMOS, PILA Y RELOJ, SLOTS DE EXPANSIÓNBIOS, CMOS, PILA Y RELOJ, SLOTS DE EXPANSIÓN
BIOS, CMOS, PILA Y RELOJ, SLOTS DE EXPANSIÓNvictorpascualcortes
 
El ciclo de instruccion
El ciclo de instruccionEl ciclo de instruccion
El ciclo de instruccionERICA2c3
 
Herramientas de programación para desarrolladores
Herramientas de programación para desarrolladoresHerramientas de programación para desarrolladores
Herramientas de programación para desarrolladores
BBVA API Market
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
victor medra
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
juan1993are
 
Joystick 2
Joystick 2Joystick 2
Microcontroladores ASM
Microcontroladores ASMMicrocontroladores ASM
Microcontroladores ASM
dave
 
Sistemas Microinformáticos
Sistemas MicroinformáticosSistemas Microinformáticos
Sistemas Microinformáticos
alvaromesadoce
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
Clase3 - Identificadores y directivas en Delphi
Clase3 - Identificadores y directivas en DelphiClase3 - Identificadores y directivas en Delphi
Clase3 - Identificadores y directivas en Delphi
Julio Antonio Huaman Chuque
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesador
YESENIA CETINA
 
Unidad Aritmética Lógica (UAL)
Unidad Aritmética Lógica (UAL)Unidad Aritmética Lógica (UAL)
Unidad Aritmética Lógica (UAL)
LuisFerrer46
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
thalia margarita serrano diaz
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
Fabian Rojas
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
SuarezJhon
 
Memorias en circuitos digitales
Memorias en circuitos digitalesMemorias en circuitos digitales
Memorias en circuitos digitales
Fernanda Silva
 
Historia del procesador
Historia del procesadorHistoria del procesador
Historia del procesador
Mauricio Barzola
 
Tipos de instalacion de los sistemas operativos
Tipos de instalacion de los sistemas operativosTipos de instalacion de los sistemas operativos
Tipos de instalacion de los sistemas operativos
WarriorOfTheWorth
 
Arquitectura de memorias RAM Y ROM
Arquitectura de memorias RAM Y ROMArquitectura de memorias RAM Y ROM
Arquitectura de memorias RAM Y ROM
YESENIA CETINA
 
Pasos para cambiar una memoria ram
Pasos para cambiar una memoria ramPasos para cambiar una memoria ram
Pasos para cambiar una memoria ramequipo012
 

La actualidad más candente (20)

BIOS, CMOS, PILA Y RELOJ, SLOTS DE EXPANSIÓN
BIOS, CMOS, PILA Y RELOJ, SLOTS DE EXPANSIÓNBIOS, CMOS, PILA Y RELOJ, SLOTS DE EXPANSIÓN
BIOS, CMOS, PILA Y RELOJ, SLOTS DE EXPANSIÓN
 
El ciclo de instruccion
El ciclo de instruccionEl ciclo de instruccion
El ciclo de instruccion
 
Herramientas de programación para desarrolladores
Herramientas de programación para desarrolladoresHerramientas de programación para desarrolladores
Herramientas de programación para desarrolladores
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Joystick 2
Joystick 2Joystick 2
Joystick 2
 
Microcontroladores ASM
Microcontroladores ASMMicrocontroladores ASM
Microcontroladores ASM
 
Sistemas Microinformáticos
Sistemas MicroinformáticosSistemas Microinformáticos
Sistemas Microinformáticos
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos
 
Clase3 - Identificadores y directivas en Delphi
Clase3 - Identificadores y directivas en DelphiClase3 - Identificadores y directivas en Delphi
Clase3 - Identificadores y directivas en Delphi
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesador
 
Unidad Aritmética Lógica (UAL)
Unidad Aritmética Lógica (UAL)Unidad Aritmética Lógica (UAL)
Unidad Aritmética Lógica (UAL)
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
Memorias en circuitos digitales
Memorias en circuitos digitalesMemorias en circuitos digitales
Memorias en circuitos digitales
 
Historia del procesador
Historia del procesadorHistoria del procesador
Historia del procesador
 
Tipos de instalacion de los sistemas operativos
Tipos de instalacion de los sistemas operativosTipos de instalacion de los sistemas operativos
Tipos de instalacion de los sistemas operativos
 
Arquitectura de memorias RAM Y ROM
Arquitectura de memorias RAM Y ROMArquitectura de memorias RAM Y ROM
Arquitectura de memorias RAM Y ROM
 
Pasos para cambiar una memoria ram
Pasos para cambiar una memoria ramPasos para cambiar una memoria ram
Pasos para cambiar una memoria ram
 

Similar a assembler

Edianny.adan.programacion.docx
Edianny.adan.programacion.docxEdianny.adan.programacion.docx
Edianny.adan.programacion.docx
Edianny Adan
 
Debug PaulinaChacon
Debug PaulinaChaconDebug PaulinaChacon
Debug PaulinaChaconPau22
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
arianny lopez
 
Assembler
AssemblerAssembler
Assembler
irana piñero
 
PROGRAMACIÓN EN C
PROGRAMACIÓN EN CPROGRAMACIÓN EN C
PROGRAMACIÓN EN C
visionartificialitm
 
PROGRAMACION EN C
PROGRAMACION EN CPROGRAMACION EN C
PROGRAMACION EN C
visionartificialitm
 
Modos de direccionamiento.pdf
Modos de direccionamiento.pdfModos de direccionamiento.pdf
Modos de direccionamiento.pdf
JoseGilbertoCanoGree
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
Infomania pro
 
Programacion c
Programacion cProgramacion c
Programacion c
Jorge Ñauñay
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Carlos Pastorino
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
juan1993are
 
microprocesadores y microcontroladores
microprocesadores y microcontroladoresmicroprocesadores y microcontroladores
microprocesadores y microcontroladores
netmedical
 
Estructura .COM
Estructura .COMEstructura .COM
Estructura .COM
Alejandro Muñiz
 
Programación c
Programación cProgramación c
Programación c
Programación cProgramación c
Programación cvictdiazm
 
Lenguaje Ensamblador
Lenguaje Ensamblador Lenguaje Ensamblador
Lenguaje Ensamblador
irana piñero
 

Similar a assembler (20)

Edianny.adan.programacion.docx
Edianny.adan.programacion.docxEdianny.adan.programacion.docx
Edianny.adan.programacion.docx
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpu
 
Debug PaulinaChacon
Debug PaulinaChaconDebug PaulinaChacon
Debug PaulinaChacon
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Assembler
AssemblerAssembler
Assembler
 
PROGRAMACIÓN EN C
PROGRAMACIÓN EN CPROGRAMACIÓN EN C
PROGRAMACIÓN EN C
 
PROGRAMACION EN C
PROGRAMACION EN CPROGRAMACION EN C
PROGRAMACION EN C
 
Modos de direccionamiento.pdf
Modos de direccionamiento.pdfModos de direccionamiento.pdf
Modos de direccionamiento.pdf
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
Programacion c
Programacion cProgramacion c
Programacion c
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 
microprocesadores y microcontroladores
microprocesadores y microcontroladoresmicroprocesadores y microcontroladores
microprocesadores y microcontroladores
 
Estructura .COM
Estructura .COMEstructura .COM
Estructura .COM
 
Programación c
Programación cProgramación c
Programación c
 
Programación c
Programación cProgramación c
Programación c
 
LENGUAJE DE MAQUINA
LENGUAJE DE MAQUINALENGUAJE DE MAQUINA
LENGUAJE DE MAQUINA
 
Exposicion lenguaje de maquina 9 y 10
Exposicion lenguaje de maquina 9 y 10Exposicion lenguaje de maquina 9 y 10
Exposicion lenguaje de maquina 9 y 10
 
Lenguaje Ensamblador
Lenguaje Ensamblador Lenguaje Ensamblador
Lenguaje Ensamblador
 

Más de Edianny Adan

Longitud
LongitudLongitud
Longitud
Edianny Adan
 
Revista
RevistaRevista
Revista
Edianny Adan
 
Ejerccios de fisica (1)
Ejerccios de fisica (1)Ejerccios de fisica (1)
Ejerccios de fisica (1)
Edianny Adan
 
Ejerccios de fisica
Ejerccios de fisicaEjerccios de fisica
Ejerccios de fisica
Edianny Adan
 
Integrales definidas
Integrales definidasIntegrales definidas
Integrales definidas
Edianny Adan
 
Practica3.
Practica3.Practica3.
Practica3.
Edianny Adan
 
Practica 7
Practica 7Practica 7
Practica 7
Edianny Adan
 
Practica6
Practica6Practica6
Practica6
Edianny Adan
 
Practica4
Practica4Practica4
Practica4
Edianny Adan
 
Practica5
Practica5Practica5
Practica5
Edianny Adan
 
Practica1,2
Practica1,2Practica1,2
Practica1,2
Edianny Adan
 
Estadistica
Estadistica Estadistica
Estadistica
Edianny Adan
 
Estadistica
Estadistica Estadistica
Estadistica
Edianny Adan
 
Algoritmo.c 1
Algoritmo.c 1Algoritmo.c 1
Algoritmo.c 1
Edianny Adan
 
Logaritmo.repetitivo
Logaritmo.repetitivoLogaritmo.repetitivo
Logaritmo.repetitivo
Edianny Adan
 
Edianny adan.ci26370562
Edianny adan.ci26370562Edianny adan.ci26370562
Edianny adan.ci26370562
Edianny Adan
 
estructura del computador
estructura del computador estructura del computador
estructura del computador
Edianny Adan
 
Actividad
ActividadActividad
Actividad
Edianny Adan
 
Actividad
ActividadActividad
Actividad
Edianny Adan
 
Ejercicios de todas las estructuras
Ejercicios de todas las estructurasEjercicios de todas las estructuras
Ejercicios de todas las estructuras
Edianny Adan
 

Más de Edianny Adan (20)

Longitud
LongitudLongitud
Longitud
 
Revista
RevistaRevista
Revista
 
Ejerccios de fisica (1)
Ejerccios de fisica (1)Ejerccios de fisica (1)
Ejerccios de fisica (1)
 
Ejerccios de fisica
Ejerccios de fisicaEjerccios de fisica
Ejerccios de fisica
 
Integrales definidas
Integrales definidasIntegrales definidas
Integrales definidas
 
Practica3.
Practica3.Practica3.
Practica3.
 
Practica 7
Practica 7Practica 7
Practica 7
 
Practica6
Practica6Practica6
Practica6
 
Practica4
Practica4Practica4
Practica4
 
Practica5
Practica5Practica5
Practica5
 
Practica1,2
Practica1,2Practica1,2
Practica1,2
 
Estadistica
Estadistica Estadistica
Estadistica
 
Estadistica
Estadistica Estadistica
Estadistica
 
Algoritmo.c 1
Algoritmo.c 1Algoritmo.c 1
Algoritmo.c 1
 
Logaritmo.repetitivo
Logaritmo.repetitivoLogaritmo.repetitivo
Logaritmo.repetitivo
 
Edianny adan.ci26370562
Edianny adan.ci26370562Edianny adan.ci26370562
Edianny adan.ci26370562
 
estructura del computador
estructura del computador estructura del computador
estructura del computador
 
Actividad
ActividadActividad
Actividad
 
Actividad
ActividadActividad
Actividad
 
Ejercicios de todas las estructuras
Ejercicios de todas las estructurasEjercicios de todas las estructuras
Ejercicios de todas las estructuras
 

Último

PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
CarlitosWay20
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
MariaCortezRuiz
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
DeyvisPalomino2
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
SantosCatalinoOrozco
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
ycalful01
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
GROVER MORENO
 
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdfLas Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
NicolasGramajo1
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
ivan848686
 
Voladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.pptVoladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.ppt
AldithoPomatay2
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
Pol Peña Quispe
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
Material magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulasMaterial magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulas
michiotes33
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
ssuserebb7f71
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
mirellamilagrosvf
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
JavierAlejosM
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
MiriamAquino27
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
CarlosAroeira1
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 

Último (20)

PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
 
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdfLas Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
 
Voladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.pptVoladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.ppt
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
Material magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulasMaterial magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulas
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 

assembler

  • 1. Universidad Fermín Toro Departamento de Formación General Escuela de Ingeniería Cabudare Cabudare 2017 Integrante: Edianny Adan C.I 26370562 ASSEMBLER 8086
  • 2. ¿QUE ES EL LENGUAJE ENSAMBLADOR? El lenguaje ensamblador es un lenguaje de programación que está dedicado a escribir programas de bajo nivel; ejerce control sumamente directo al hardware, la palabra bajo hace referencia a una reducida abstracción entre lo que es el lenguaje y el hardware; los programas de bajo nivel son hechos para controladores, aplicaciones especializadas en tiempo real, entre otras. El lenguaje ensamblador trabaja directamente con el microprocesador de una máquina.
  • 3. ESTRUCTURA DE UN PROGRAMA ENSAMBLADOR En el lenguaje ensamblador las líneas de código constan de dos partes, la primera es el nombre de la instrucción que se va a ejecutar y la segunda son los parámetros del comando u operando. Para hacer la terea del programador mas grata, se unen algunas convenciones. Cada uno puede adoptar la que mas le agrade y le ayuden a ser mas productivo. En general las convenciones son cualquier acción que facilita la revisión y comprensión de un programa.
  • 4. EJEMPLO ADD ah bh Aquí "ADD" es el comando a ejecutar (en este caso una adición o suma) y tanto "ah" como "bh" son los parámetros. El nombre de las instrucciones en este lenguaje puede estar formado de 2 a 6 letras, a estas instrucciones también se les llama nombres mnemónicos o códigos de operación, ya que representan alguna función que habrá de realizar el procesador. Existen algunos comandos que no requieren parámetros para su operación, así como otros que requieren solo un parámetro. Algunas veces se utilizarán las instrucciones como sigue: ADD al,[170] Los corchetes en el segundo parámetro nos indican que vamos a trabajar con el contenido de la casilla de memoria número 170 y no con el valor 170, a esto se le conoce como direccionamiento directo (en la instrucción viene la dirección del objeto).
  • 5. LAS DIRECTIVAS INICIALES DE UN PROGRAMA EN ASSEMBLER las directivas son usadas para especificar la organización de memoria, realizar ensamblado condicional, definir macros, entrada, salida, control de archivos, listados, cross-reference, direcciones e información acerca de la estructura de un programa y las declaraciones de datos. El apéndice D proporciona una lista completa de estas directivas. •Conjunto de instrucciones. Dentro de las directivas más importantes, tenemos las que establecen el conjunto de instrucciones a soportar para un microprocesador en especial: •.8086(default).- Activa las instrucciones para el 8086 y 8088 e inhibe las del 80186 y 80286. •.8087(default).- Activa instrucciones para el 8087 y desactiva las del 80287. •.186.- Activa las instrucciones del 80186 •.286c.- Activa instrucciones del 80286 en modo no protegido. •.289p.- Activa instrucciones del 80286 en modo protegido y no protegido.
  • 6. Directiva DB DW DD DF,DP DQ DT Define 1 byte 2 bytes = una palabra 4 bytes = una doble palabra 6 bytes = un apuntador de palabra far 8 bytes = un quadpalabra 10 bytes
  • 7. LAS INTERRUPCIONES 21H, 09H, 10H. Una interrupción es una instrucción que detiene la ejecución de un programa para permitir el uso de la UCP a un proceso prioritario. Una vez concluido este último proceso se devuelve el control a la aplicación anterior. Interrupción 21H Propósito: Llamar a diversas funciones del DOS. Sintaxis: Int 21H Nota: Cuando trabajamos en MASM es necesario especificar que el valor que estamos utilizando es hexadecimal. Esta interrupción tiene varias funciones, para acceder a cada una de ellas es necesario que el registro AH se encuentre el número de función que se requiera al momento de llamar a la interrupción.
  • 8. Función 09H Uso: Despliega una cadena de caracteres en la pantalla. Registros de llamada: AH = 09H DS:DX = Dirección de inicio de una cadena de caracteres Registros de retorno: Ninguno. Esta función despliega los caracteres, uno a uno, desde la dirección indicada en el registro DS:DX hasta encontrar un carácter $, que es interpretado como el final de la cadena. Se recomienda utilizar la función 40H en lugar de esta función. Función 40H Uso: Escribir a un dispositivo o a un archivo. Registros de llamada: AH = 40H BX = Vía de comunicación CX = Cantidad de bytes a escribir DS:DX = Dirección del inicio de los datos a escribir Registros de retorno: CF = 0 si no hubo error AX = Número de bytes escritos CF = 1 si hubo error AX = Código de error El uso de esta función para desplegar información en pantalla se realiza dándole al registro BX el valor de 1 que es el valor pre asignado al video por el sistema operativo MS-DOS . Función 01H Uso: Leer un carácter del teclado y desplegarlo. Registros de llamada: AH = 01H Registros de retorno: AL = Carácter leído Con esta función es muy sencillo leer un carácter del teclado, el código hexadecimal del carácter leído se guarda en el registro AL. En caso de que sea un carácter extendido el registro AL contendrá el valor de 0 y será necesario llamar de nuevo a la función para obtener el código de este carácter.
  • 9. Interrupción 10H Propósito: Llamar a diversas funciones de video del BIOS. Sintaxis: Int 10H Esta interrupción tiene diversas funciones, todas ellas nos sirven para controlar la entrada y salida de video, la forma de acceso a cada una de las opciones es por medio del registro AH. Función 02H Uso: Posiciona el cursor en la pantalla dentro de las coordenadas válidas de texto. Registros de llamada: AH = 02H BH = Página de video en la que se posicionará el cursor. DH = Fila DL = Columna Registros de retorno: Ninguno. Las posiciones de localización del cursor son definidas por coordenadas iniciando en 0,0, que corresponde a la esquina superior izquierda hasta 79,24 correspondientes a la esquina inferior derecha. Tenemos entonces que los valores que pueden tomar los registros DH y DL en modo de texto de 80 x 25 son de 0 hasta 24 y de 0 hasta 79 respectivamente.
  • 10. Función 09H Uso: Desplegar un carácter un determinado número de veces con un atributo definido empezando en la posición actual del cursor. Registros de llamada: AH = 09H AL = Carácter a desplegar BH = Página de video en donde se desplegará BL = Atributo a usar Número de repeticiones. Registros de retorno: Ninguno Esta función despliega un carácter el número de veces especificado en CX pero sin cambiar la posición del cursor en la pantalla. Función 0AH Uso: Desplegar un carácter en la posición actual del cursor. Registros de llamada: AH = 0AH AL = Carácter a desplegar BH = Página en donde desplegar BL = Color a usar (sólo en gráficos). CX = Número de repeticiones Registros de retorno: Ninguno. La única diferencia entre esta función y la anterior es que ésta no permite modificar los atributos, simplemente usa los atributos actuales. Tampoco se altera la posición del cursor con esta función. Función 0EH Uso: Desplegar un carácter en la pantalla actualizando la posición del cursor. Registros de llamada: AH = 0EH AL = Carácter a desplegar BH = Página donde se desplegara el carácter BL = Color a usar (solo en gráficos)
  • 11. INSTRUCCIONES PARA LEER UN CARACTER EN PANTALLA • Código para leer carácter con eco mov ah,01h ;petición de leer carácter int 21h ;llama al DOS la función 01h indica la operación para leer un carácter desde el teclado, carácter con eco quiere decir: que cuando pulsas un carácter se imprime en la pantalla enseguida • Código para leer carácter sin eco mov ah,07h ;petición de leer carácter int 21h ;llama al DOS la función 07h o también 08h ambas indica la operación para leer un carácter desde el teclado, carácter sin eco quiere decir: que cuando pulsas un carácter no es impreso el carácter pulsado hasta que se manda imprimir con otra función.
  • 12. INTRUCCIONES PARA SUMAR Y RESTAR 2 NUMEROS Ejemplo: Suma el 2793H y el 3182H y guarda el resultado en la locación de memoria 2050H y 2051H. Suponga que los números se encuentran en BC y DE respectivamente Condiciones Iníciales Memória 2050 XX 2051 XX B 27 93 C D31 82 E LD A,C ADD A,E A 93 XX F A 15 CY =1 F 93H + 82H =115H LD L,A LD A, H 15 L 1H + 31H + 27H =59H D ADC A, A 31 CY =1 F LD H,A LD H 59 15 L (2050H),HL A59 CY= 0F 2050 15 H 2051 59 H
  • 13. EJEMPLO Model small .satck 100 .data Variable1 db 0 Variable2 db 0 Linea db 13,10, “$” Num1 db 13,10 , “ingrese numero 1: ” ; “$” Num2 db 13,10 , “ingrese numero 2 : ”; “$’ msn1 db 13,10 , “suma : “ ; “$” msn2 db 13,10 , “resta : ” ; “$” .code .startup Mov ah .09h Lea dx Int 21h Call leer Sub al, 30h Mov variable , al Mov ah, 09h Lea dx , num2 Int 21h Call leer Sub al , 30h Mov variable2, al Mov bl, variable 2 ; Suma Add variable 1 Mov ah, 09h Lea dx, msn1 Int 21h Mov dl,bl Add dl, 30h Mov ah, 02h Int 21h exit
  • 14.