SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
12/02/2014
1
IMPORTANCIA DE LA PROGRAMACION EN
LENGUAJE ENSAMBLADOR
• Un programa escrito en lenguaje ensamblador requiere considerablemente
menos memoria y se ejecuta más rápidamente que un programa escrito en un
lenguaje de alto nivel como Pascal.
• El lenguaje ensamblador ofrece al programador la posibilidad de realizar
tareas muy específicas que sería muy difícil llevar a cabo en un lenguaje de
alto nivel.
• El conocimiento del lenguaje ensamblador permite una comprensión de la
arquitectura de la máquina que ningún lenguaje de alto nivel puede ofrecer.
12/02/2014
2
• Desarrollar aplicaciones en lenguajes de alto nivel resulta mucho más
productivo que hacerlo en ensamblador, pero este último resulta
especialmente atractivo cuando hay que optimizar determinadas rutinas que
suponen un cuello de botella para el rendimiento del sistema.
• Los programas residentes y las rutinas de servicio de interrupción casi
siempre se escriben en ensamblador.
• La carga inicial de un S.O. debe realizarse en ensamblador, pues hacerlo con
un lenguaje de alto nivel supondría usar instrucciones que en ese momento
no pueden ser ejecutadas por la máquina.
12/02/2014
3
Ventajas del lenguaje ensamblador:
• Velocidad de ejecución de los programas
• Mayor control sobre el hardware de la computadora
Desventajas del lenguaje ensamblador:
• Repetición constante de grupos de instrucciones
• No existe una sintaxis estandarizada
• Dificultad para encontrar errores en los programas.
¿QUÉ SON LOS REGISTROS?
UN REGISTRO ES UNA MEMORIA DE ALTA VELOCIDAD
Y POCA CAPACIDAD, INTEGRADA EN EL
MICROPROCESADOR, QUE PERMITE GUARDAR
TRANSITORIAMENTE DATOS.
12/02/2014
4
EL PROCESADOR
EL PROCESADOR SOLO ENTIENDE UN
LENGUAJE QUE SE CONOCE COMO:
LENGUAJE ENSAMBLADOR
O
LENGUAJE MAQUINA
REGISTROS
UNO DE LOS MÓDULOS PRINCIPALES QUE
UTILIZA EL LENGUAJE ENSAMBLADOR PARA
MANEJAR EL PROCESADOR SON LOS REGISTROS.
LOS REGISTROS SE EMPLEAN PARA CONTROLAR
INSTRUCCIONES EN EJECUCIÓN, MANEJAR
DIRECCIONAMIENTO DE MEMORIA Y
PROPORCIONAR CAPACIDAD ARITMÉTICA.
12/02/2014
5
LOS REGISTROS INTERNOS DEL PROCESADOR SE
PUEDE CLASIFICAR EN 6 TIPOS DIFERENTES:
• Registros de segmento
• Registros de propósito general
• Registro de apuntadores
• Registro de banderas
• Registros de Puntero de instrucción
• Registros de pila
MEMORIA
PRINCIPAL(RAM)
12/02/2014
6
MEMORIA:
• Es el espacio que necesita la CPU para poder guardar los
programas y los datos que se manipulan mientras están en
uso. Desde el punto de vista físico, la memoria consiste en
chips, ya sea en la tarjeta madre o en un pequeño tablero de
circuitos conectados a ésta.
LA MEMORIA PRINCIPAL O RAM (MEMORIA DE ACCESO
ALEATORIO)
• Es donde el ordenador guarda los datos que está utilizando
en el momento presente; son los "megas" famosos en
número de 32, 64 ó 128.
• Por su función, es una amiga inseparable del
microprocesador, con el cual se comunica a través de los
buses de datos.
12/02/2014
7
• Por ejemplo, cuando la CPU tiene que
ejecutar un programa, primero lo coloca
en la memoria y después lo empieza a
ejecutar.
• Esta clase de memoria es volátil, es decir
que, cuando se corta la energía eléctrica,
se borra toda la información que estuviera
almacenada en ella.
ROM O MEMORIA DE SOLO LECTURA
• contiene un conjunto de instrucciones de inicio que aseguran que
el resto de la memoria esté funcionando de manera apropiada;
verifica los dispositivos de hardware y busca un sistema operativo
en las unidades de disco de la computadora
12/02/2014
8
INTERRUPCIONES
¿QUE ES UNA INTERRUPCIÓN?
• Una interrupción es el rompimiento en la secuencia de un programa para para ejecutar un programa
especial.
12/02/2014
9
CLASES
• Interrupciones por software
• Son aquellas programadas por el usuario, es decir, el usuario decide cuando y donde ejecutarlas, generalmente
son usadas para realizar entrada y salida.
• Interrupciones por hardware
• Son aquellas que son provocadas por dispositivos
• externos al procesador
INTERRUPCIONES POR HARDWARE
EXISTEN 2 TIPOS
• Interrupciones por hardware enmascarables:
• Aquellas en las que el usuario decide si quiere o no ser interrumpido.
• Interrupciones por hardware no enmascarables (NMI):
• Aquellas que siempre interrumpen al programa.
12/02/2014
10
1.5 LLAMADAS AL SISTEMA
(SYSTEM CALL)
ES UN MÉTODO O FUNCIÓN QUE PUEDE INVOCAR UN PROCESO PARA
SOLICITAR CIERTO SERVICIO AL SISTEMA OPERATIVO .
LAS LLAMADAS SON PETICIONES A EJECUCIÓN DE RUTINAS,
PROPORCIONAN LA INTERFAZ ENTRE EL SISTEMA OPERATIVO Y UN
PROGRAMA EN EJECUCIÓN.
• SON INSTRUCCIONES DE LENGUAJE ENSAMBLADOR
• SE PRESENTAN EN LOS MANUALES QUE EMPLEAN LOS
PROGRAMADORES DE ESTE LENGUAJE.
Llamadas al sistema:
• TIME: Permite obtener la fecha y hora del sistema
• WRITE: Se emplea para escribir un dato en un cierto dispositivo de salida, tales
como una pantalla o un disco magnético
• READ: Es usada para leer de un dispositivo de entrada, tales como un teclado o un
disco magnético
• OPEN: Es usada para obtener un descriptor de un fiche del sistema, ese fichero
suele pasarse a write
12/02/2014
11
Algunos sistemas permiten efectuar llamadas al
sistema directamente desde un programa realizado en
el lenguaje a mayor nivel se asemejan a una función o
sub-rutinas que generan una llamada a una ruta en
especial de tiempo de ejecución.
Ejemplo: En el procesador INTEL es INT y en
UNIX son rutinas
El siguiente diagrama ilustra la relación entre la Shell y el
Kernel.
• El Shell es lo que el sistema operativo nos muestra, la
portada, el intérprete de comandos, etc.
• El Kernel es el núcleo del sistema operativo.
12/02/2014
12
INTRODUCCIÓN:
Modo de direccionamiento: mecanismo que permite conocer la ubicación de un dato o instrucción, una
computadora dispone de varios modos de direccionamiento.
Objeto: dato o instrucción que se desea direccionar.
Objetivos de los modos de direccionamiento:
• Reducir el espacio ocupado en memoria por las instrucciones.
• Permitir la reubicación del código.
• Facilitar el manejo de las estructuras de datos.
• Implícito: Llamado también inherente, el operando se especifica en la misma
definición de la instrucción.
• Inmediato: El operando es el que figura en la instrucción, no su dirección.
Este modo es útil para inicializar registros o palabras de memoria con un valor
constante.
• Directo: El campo de operando en la instrucción contiene la direccion en
memoria donde se encuentra el operando
• Indirecto: Aquí, el campo de operando de la instrucción indica la localización
de la dirección efectiva del operando.
12/02/2014
13
• EJECUCION
Para la ejecución del programa simplemente basta teclear su nombre en el
prompt de MS-DOS y teclear ENTER. Con esto el programa será cargado en
memoria y el sistema procederá a ejecutarlo. El proceso completo para poder
crear un programa ejecutable con el Microsoft Macro Assembler se muestra
abajo.
ESTRUCTURA GENERAL DE UN PROGRAMA EN LENGUAJE ENSAMBLADOR.
• Lenguaje ensamblador que usa servicios o funciones de MS-DOS (system calls) para imprimir el mensaje Hola
mundo!! en pantalla.
• ; HOLA.ASM
• ; Programa clasico de ejemplo. Despliega una leyenda en pantalla.
• STACK SEGMENT STACK ; Segmento de pila
• DW 64 DUP (?) ; Define espacio en la pila
• STACK ENDS
• DATA SEGMENT ; Segmento de datos
• SALUDO DB "Hola mundo!!",13,10,"$" ; Cadena
• DATA ENDS
• CODE SEGMENT ; Segmento de Codigo
• ASSUME CS:CODE, DS:DATA, SS:STACK
• INICIO: ; Punto de entrada al programa
• MOV AX,DATA ; Pone direccion en AX
• MOV DS,AX ; Pone la direccion en los registros
• MOV DX,OFFSET SALUDO ; Obtiene direccion del mensaje
• MOV AH,09H ; Funcion: Visualizar cadena
• INT 21H ; Servicio: Funciones alto nivel DOS
• MOV AH,4CH ; Funcion: Terminar
• INT 21H
• CODE ENDS
• END INICIO ; Marca fin y define INICIO
12/02/2014
14
• Estructura de una línea:
• INSTRUCCIÓN EN ENSAMBLADOR
• INSTRUCCIÓN EN LENGUAJE MÁQUINA
SINTAXIS DE UN LENGUAJE ENSAMBLADOR
DIRECCIÓN CÓDIGO DE OPERACIÓN DIRECCIÓN DE LOS
OPERANDOS
12/02/2014
15
• Etiqueta
• - Identifica la línea en la cual se encuentra.
• - Se asocia a la dirección en la cual se encuentra la instrucción o el dato, o a la constante definida.
• - Recomendaciones
• • Utilizar sólo letras o números (comenzar por una letra).
• • Colocar la primera letra de la etiqueta en el primer carácter de la línea.
• Nemotécnico
• - Identifica:
• • Un código de operación del lenguaje
• • Una pseudoinstrucción
• Campo de operandos
• - Identifica los operandos que intervienen en la instrucción o pseudoinstrucción.
• - Tipos de operandos:
• • Constantes
• ∗ Numéricas: decimales(D), binarias (%,B), octales (O,@,Q,C),
• hexadecimales (H,$).
• ∗ Alfabéticas: entre comillas.
• • Símbolos
• ∗ Predefinidos: registros, contador de dirección de ensamblado.
• ∗ Implícitos: etiquetas de dirección.
• ∗ Explícitos: mediante pseudoinstrucciones.
• • Expresiones
• Comentarios
• - Indicaciones para una mejor comprensión del programa ensamblador.
• - Pueden comenzar con el símbolo “;”.
CAMPOS DE UNA INSTRUCCIÓN EN ENSAMBLADOR
• Registros de datos
• Registros de segmento
• Registros punteros de la pila
• Registros índices
• Registro de instrucciones
• Registro de flags de estado
EL MICROPROCESADOR 8086 TIENE CATORCE
REGISTROS DE 16 BITS:
12/02/2014
16
• Los registros competos ax, bx, cx, dx trabajan sobre 16
bits, mientras la parte alta (ah, bh, ch, dh) y baja (al, bl, cl,
dl) de cada registro trabaja sobre 8 bits, es esencial
conocerlo para a la hora de programar no cometer errores
en mover datos de un registro a otro.
ax (ah - al) - acumulador
bx (bh - bl) - registro base
cx (ch - cl) - registro contador
dx (dh - dl) - registro de datos
sp - registro del apuntador de pila
REGISTROS DE DATOS
• SP - Puntero de pila
• BP - Puntero base de pila
• SI - Registro índice
• DI - Registro índice
• IP - Contador de programa
REGISTROS PUNTEROS: REGISTRO DEL APUNTADOR
DE PILA
12/02/2014
17
• CS - segmento de código
• DS - segmento de datos
• ES - segmento extra
• SS - segmento pila
REGISTROS DE SEGMENTO:
INSTRUCCIONES DE TRANSAFERENCIA DE DATOS
• mov: mueve o transfiere
• xchg: intercambia
• in: entrada
• out:salida
• xlat: traduce usando una tabla
• lea: carga la direccion efectiva
• lds: carga el segmento de
datos
• les: carga el segmento extra
lahf: carga los indicadores en ah
sahf: guarda ah en los
indicadores
push fuente: (sp)<- fuente
pop destino: destino <- (sp)
12/02/2014
18
INSTRUCCIONES ARITMÉTICAS
add: suma
adc: suma con acarreo
aaa: ajuste ascii para la suma
daa: ajuste decimal para la suma
sub: resta
sbb: resta con acarreo negativo
aas: ajuste ascii para la resta
das: ajuste decimal para la resta
mul: multiplicacion
imul: multiplicacion entera
aam: ajuste ascii para la multiplicacion
div: division
idiv: division entera
aad: ajuste ascii para la division
cbw: pasar octeto a palabra
cwd: pasar palabra a doble palabra
neg: negacion
sti: poner a 1 el indicador de interrupcion
cli: borrar el indicador de interrupcion
into: interrupcion por capacidad excedida(desbordamiento)
iret: retorno de interrupcion
int: interrupcion
int 21: interrupcion 21, esta manda llamar al sistema operativo que ejecuta las instrucciones anteriores
int 20: interrupcion 20, esta interrupcion ejecuta lo anterior y termina el programa para que no se cicle
INTERRUPCIONES
12/02/2014
19

Más contenido relacionado

La actualidad más candente

Los tipos de datos de sql server
Los tipos de datos de sql serverLos tipos de datos de sql server
Los tipos de datos de sql serverCEUNISAL
 
Comunicacion entre procesos SSDD
Comunicacion entre procesos SSDDComunicacion entre procesos SSDD
Comunicacion entre procesos SSDDJorge Guerra
 
Sistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempoSistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempoJosé Parra
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Programación Orientada a Objetos y Videojuegos
Programación Orientada a Objetos y VideojuegosProgramación Orientada a Objetos y Videojuegos
Programación Orientada a Objetos y VideojuegosEduardo Calvillo Gamez
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesHumano Terricola
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasJ M
 
Lenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turingLenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turingvmtorrealba
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedioGuillermo
 
Control de flujo por hardware o software,
Control de flujo  por hardware o software,Control de flujo  por hardware o software,
Control de flujo por hardware o software,Victor Mijangos
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensambladorgbermeo
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Configuracion de router
Configuracion de routerConfiguracion de router
Configuracion de routerAndyNet-com
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datosLalo Osorio
 

La actualidad más candente (20)

Los tipos de datos de sql server
Los tipos de datos de sql serverLos tipos de datos de sql server
Los tipos de datos de sql server
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Comunicacion entre procesos SSDD
Comunicacion entre procesos SSDDComunicacion entre procesos SSDD
Comunicacion entre procesos SSDD
 
Sistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempoSistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempo
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Programación Orientada a Objetos y Videojuegos
Programación Orientada a Objetos y VideojuegosProgramación Orientada a Objetos y Videojuegos
Programación Orientada a Objetos y Videojuegos
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Lenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turingLenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turing
 
Estándar ieee 802(Token bus)
Estándar ieee 802(Token bus)Estándar ieee 802(Token bus)
Estándar ieee 802(Token bus)
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Control de flujo por hardware o software,
Control de flujo  por hardware o software,Control de flujo  por hardware o software,
Control de flujo por hardware o software,
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Configuracion de router
Configuracion de routerConfiguracion de router
Configuracion de router
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datos
 

Destacado (20)

Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Relatório de Gestão 2008 - Sala Verde Judith Cortesão FURG
Relatório de Gestão 2008 - Sala Verde Judith Cortesão FURGRelatório de Gestão 2008 - Sala Verde Judith Cortesão FURG
Relatório de Gestão 2008 - Sala Verde Judith Cortesão FURG
 
Tipos De Lenguajes
Tipos De LenguajesTipos De Lenguajes
Tipos De Lenguajes
 
Lenguaje de ensamblador daniel romo 9 a -san felipe
Lenguaje de ensamblador daniel romo 9 a -san felipeLenguaje de ensamblador daniel romo 9 a -san felipe
Lenguaje de ensamblador daniel romo 9 a -san felipe
 
Ots 2014 2 a5
Ots 2014 2 a5Ots 2014 2 a5
Ots 2014 2 a5
 
Nivel de lenguaje ensamblador
Nivel de lenguaje ensamblador Nivel de lenguaje ensamblador
Nivel de lenguaje ensamblador
 
Lenguajeensamblador
LenguajeensambladorLenguajeensamblador
Lenguajeensamblador
 
Mipag web
Mipag webMipag web
Mipag web
 
Lengujes de 2 generacion
Lengujes de 2 generacionLengujes de 2 generacion
Lengujes de 2 generacion
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
programa 1 en lenguaje ensamblador
programa 1 en lenguaje ensambladorprograma 1 en lenguaje ensamblador
programa 1 en lenguaje ensamblador
 
5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas5154 Tema3 Jose Rojas
5154 Tema3 Jose Rojas
 
Data segment
Data segmentData segment
Data segment
 
Lenguaje de ensamblador
Lenguaje de ensambladorLenguaje de ensamblador
Lenguaje de ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Manejo de archivo
Manejo de archivoManejo de archivo
Manejo de archivo
 
Emulador 8086.
Emulador 8086.Emulador 8086.
Emulador 8086.
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Generalidades del lenguaje ensamblador
Generalidades del lenguaje ensambladorGeneralidades del lenguaje ensamblador
Generalidades del lenguaje ensamblador
 

Similar a Unidad 1 interfaz

Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programaciondianithacipriano
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Sistemas Operativos: Tendencias, Hardware, Software, Memoria Fija
Sistemas Operativos: Tendencias, Hardware, Software, Memoria FijaSistemas Operativos: Tendencias, Hardware, Software, Memoria Fija
Sistemas Operativos: Tendencias, Hardware, Software, Memoria FijaStudent A
 
Microcontroladores Ciscx
Microcontroladores CiscxMicrocontroladores Ciscx
Microcontroladores CiscxElohim Flores
 
Arquitectura de computadoras laura molina z
Arquitectura de computadoras laura molina zArquitectura de computadoras laura molina z
Arquitectura de computadoras laura molina zliceo nacional
 
C21 cm23 eq4-arquitecturadecomputadoraspresentacion-primer parcial
C21 cm23 eq4-arquitecturadecomputadoraspresentacion-primer parcialC21 cm23 eq4-arquitecturadecomputadoraspresentacion-primer parcial
C21 cm23 eq4-arquitecturadecomputadoraspresentacion-primer parcialHugo Strks
 
Segundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corteSegundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corteSebastian Gonzalez
 
Unidad central de procesamiento
Unidad central de procesamientoUnidad central de procesamiento
Unidad central de procesamientoAlejandro Molina
 
Hardware y Software (S.O)
Hardware y Software (S.O)Hardware y Software (S.O)
Hardware y Software (S.O)Javier Alvarez
 
Abf leccion 03
Abf leccion 03Abf leccion 03
Abf leccion 03victdiazm
 
Arquitectura de Computadores
Arquitectura de ComputadoresArquitectura de Computadores
Arquitectura de ComputadoresErwin Meza
 
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.PAOLA ABOYTES
 
Estructura funcional de las computadoras, soporte de la informacion y unidade...
Estructura funcional de las computadoras, soporte de la informacion y unidade...Estructura funcional de las computadoras, soporte de la informacion y unidade...
Estructura funcional de las computadoras, soporte de la informacion y unidade...Luis Fernando Martinez Soliz
 

Similar a Unidad 1 interfaz (20)

Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Clase 3
Clase 3Clase 3
Clase 3
 
Sistemas Operativos: Tendencias, Hardware, Software, Memoria Fija
Sistemas Operativos: Tendencias, Hardware, Software, Memoria FijaSistemas Operativos: Tendencias, Hardware, Software, Memoria Fija
Sistemas Operativos: Tendencias, Hardware, Software, Memoria Fija
 
MICROCONTROLADOR
MICROCONTROLADORMICROCONTROLADOR
MICROCONTROLADOR
 
Microcontroladores Ciscx
Microcontroladores CiscxMicrocontroladores Ciscx
Microcontroladores Ciscx
 
Arquitectura de computadoras laura molina z
Arquitectura de computadoras laura molina zArquitectura de computadoras laura molina z
Arquitectura de computadoras laura molina z
 
C21 cm23 eq4-arquitecturadecomputadoraspresentacion-primer parcial
C21 cm23 eq4-arquitecturadecomputadoraspresentacion-primer parcialC21 cm23 eq4-arquitecturadecomputadoraspresentacion-primer parcial
C21 cm23 eq4-arquitecturadecomputadoraspresentacion-primer parcial
 
JONATHAN JOEL CRUZ
JONATHAN JOEL CRUZJONATHAN JOEL CRUZ
JONATHAN JOEL CRUZ
 
JONATHAN JOEL CRUZ
JONATHAN JOEL CRUZJONATHAN JOEL CRUZ
JONATHAN JOEL CRUZ
 
Introduccion al assembler[1]
Introduccion al assembler[1]Introduccion al assembler[1]
Introduccion al assembler[1]
 
Introduccion al assembler
Introduccion al assemblerIntroduccion al assembler
Introduccion al assembler
 
Segundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corteSegundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corte
 
Arquitectura del cpu
Arquitectura del cpuArquitectura del cpu
Arquitectura del cpu
 
Unidad central de procesamiento
Unidad central de procesamientoUnidad central de procesamiento
Unidad central de procesamiento
 
Hardware y Software (S.O)
Hardware y Software (S.O)Hardware y Software (S.O)
Hardware y Software (S.O)
 
Abf leccion 03
Abf leccion 03Abf leccion 03
Abf leccion 03
 
Arquitectura de Computadores
Arquitectura de ComputadoresArquitectura de Computadores
Arquitectura de Computadores
 
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
 
Estructura funcional de las computadoras, soporte de la informacion y unidade...
Estructura funcional de las computadoras, soporte de la informacion y unidade...Estructura funcional de las computadoras, soporte de la informacion y unidade...
Estructura funcional de las computadoras, soporte de la informacion y unidade...
 

Último

AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfJessLeonelVargasJimn
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfSandXmovex
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfZamiertCruzSuyo
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
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
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfssuserc34f44
 

Último (20)

AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdf
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.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
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
 

Unidad 1 interfaz

  • 1. 12/02/2014 1 IMPORTANCIA DE LA PROGRAMACION EN LENGUAJE ENSAMBLADOR • Un programa escrito en lenguaje ensamblador requiere considerablemente menos memoria y se ejecuta más rápidamente que un programa escrito en un lenguaje de alto nivel como Pascal. • El lenguaje ensamblador ofrece al programador la posibilidad de realizar tareas muy específicas que sería muy difícil llevar a cabo en un lenguaje de alto nivel. • El conocimiento del lenguaje ensamblador permite una comprensión de la arquitectura de la máquina que ningún lenguaje de alto nivel puede ofrecer.
  • 2. 12/02/2014 2 • Desarrollar aplicaciones en lenguajes de alto nivel resulta mucho más productivo que hacerlo en ensamblador, pero este último resulta especialmente atractivo cuando hay que optimizar determinadas rutinas que suponen un cuello de botella para el rendimiento del sistema. • Los programas residentes y las rutinas de servicio de interrupción casi siempre se escriben en ensamblador. • La carga inicial de un S.O. debe realizarse en ensamblador, pues hacerlo con un lenguaje de alto nivel supondría usar instrucciones que en ese momento no pueden ser ejecutadas por la máquina.
  • 3. 12/02/2014 3 Ventajas del lenguaje ensamblador: • Velocidad de ejecución de los programas • Mayor control sobre el hardware de la computadora Desventajas del lenguaje ensamblador: • Repetición constante de grupos de instrucciones • No existe una sintaxis estandarizada • Dificultad para encontrar errores en los programas. ¿QUÉ SON LOS REGISTROS? UN REGISTRO ES UNA MEMORIA DE ALTA VELOCIDAD Y POCA CAPACIDAD, INTEGRADA EN EL MICROPROCESADOR, QUE PERMITE GUARDAR TRANSITORIAMENTE DATOS.
  • 4. 12/02/2014 4 EL PROCESADOR EL PROCESADOR SOLO ENTIENDE UN LENGUAJE QUE SE CONOCE COMO: LENGUAJE ENSAMBLADOR O LENGUAJE MAQUINA REGISTROS UNO DE LOS MÓDULOS PRINCIPALES QUE UTILIZA EL LENGUAJE ENSAMBLADOR PARA MANEJAR EL PROCESADOR SON LOS REGISTROS. LOS REGISTROS SE EMPLEAN PARA CONTROLAR INSTRUCCIONES EN EJECUCIÓN, MANEJAR DIRECCIONAMIENTO DE MEMORIA Y PROPORCIONAR CAPACIDAD ARITMÉTICA.
  • 5. 12/02/2014 5 LOS REGISTROS INTERNOS DEL PROCESADOR SE PUEDE CLASIFICAR EN 6 TIPOS DIFERENTES: • Registros de segmento • Registros de propósito general • Registro de apuntadores • Registro de banderas • Registros de Puntero de instrucción • Registros de pila MEMORIA PRINCIPAL(RAM)
  • 6. 12/02/2014 6 MEMORIA: • Es el espacio que necesita la CPU para poder guardar los programas y los datos que se manipulan mientras están en uso. Desde el punto de vista físico, la memoria consiste en chips, ya sea en la tarjeta madre o en un pequeño tablero de circuitos conectados a ésta. LA MEMORIA PRINCIPAL O RAM (MEMORIA DE ACCESO ALEATORIO) • Es donde el ordenador guarda los datos que está utilizando en el momento presente; son los "megas" famosos en número de 32, 64 ó 128. • Por su función, es una amiga inseparable del microprocesador, con el cual se comunica a través de los buses de datos.
  • 7. 12/02/2014 7 • Por ejemplo, cuando la CPU tiene que ejecutar un programa, primero lo coloca en la memoria y después lo empieza a ejecutar. • Esta clase de memoria es volátil, es decir que, cuando se corta la energía eléctrica, se borra toda la información que estuviera almacenada en ella. ROM O MEMORIA DE SOLO LECTURA • contiene un conjunto de instrucciones de inicio que aseguran que el resto de la memoria esté funcionando de manera apropiada; verifica los dispositivos de hardware y busca un sistema operativo en las unidades de disco de la computadora
  • 8. 12/02/2014 8 INTERRUPCIONES ¿QUE ES UNA INTERRUPCIÓN? • Una interrupción es el rompimiento en la secuencia de un programa para para ejecutar un programa especial.
  • 9. 12/02/2014 9 CLASES • Interrupciones por software • Son aquellas programadas por el usuario, es decir, el usuario decide cuando y donde ejecutarlas, generalmente son usadas para realizar entrada y salida. • Interrupciones por hardware • Son aquellas que son provocadas por dispositivos • externos al procesador INTERRUPCIONES POR HARDWARE EXISTEN 2 TIPOS • Interrupciones por hardware enmascarables: • Aquellas en las que el usuario decide si quiere o no ser interrumpido. • Interrupciones por hardware no enmascarables (NMI): • Aquellas que siempre interrumpen al programa.
  • 10. 12/02/2014 10 1.5 LLAMADAS AL SISTEMA (SYSTEM CALL) ES UN MÉTODO O FUNCIÓN QUE PUEDE INVOCAR UN PROCESO PARA SOLICITAR CIERTO SERVICIO AL SISTEMA OPERATIVO . LAS LLAMADAS SON PETICIONES A EJECUCIÓN DE RUTINAS, PROPORCIONAN LA INTERFAZ ENTRE EL SISTEMA OPERATIVO Y UN PROGRAMA EN EJECUCIÓN. • SON INSTRUCCIONES DE LENGUAJE ENSAMBLADOR • SE PRESENTAN EN LOS MANUALES QUE EMPLEAN LOS PROGRAMADORES DE ESTE LENGUAJE. Llamadas al sistema: • TIME: Permite obtener la fecha y hora del sistema • WRITE: Se emplea para escribir un dato en un cierto dispositivo de salida, tales como una pantalla o un disco magnético • READ: Es usada para leer de un dispositivo de entrada, tales como un teclado o un disco magnético • OPEN: Es usada para obtener un descriptor de un fiche del sistema, ese fichero suele pasarse a write
  • 11. 12/02/2014 11 Algunos sistemas permiten efectuar llamadas al sistema directamente desde un programa realizado en el lenguaje a mayor nivel se asemejan a una función o sub-rutinas que generan una llamada a una ruta en especial de tiempo de ejecución. Ejemplo: En el procesador INTEL es INT y en UNIX son rutinas El siguiente diagrama ilustra la relación entre la Shell y el Kernel. • El Shell es lo que el sistema operativo nos muestra, la portada, el intérprete de comandos, etc. • El Kernel es el núcleo del sistema operativo.
  • 12. 12/02/2014 12 INTRODUCCIÓN: Modo de direccionamiento: mecanismo que permite conocer la ubicación de un dato o instrucción, una computadora dispone de varios modos de direccionamiento. Objeto: dato o instrucción que se desea direccionar. Objetivos de los modos de direccionamiento: • Reducir el espacio ocupado en memoria por las instrucciones. • Permitir la reubicación del código. • Facilitar el manejo de las estructuras de datos. • Implícito: Llamado también inherente, el operando se especifica en la misma definición de la instrucción. • Inmediato: El operando es el que figura en la instrucción, no su dirección. Este modo es útil para inicializar registros o palabras de memoria con un valor constante. • Directo: El campo de operando en la instrucción contiene la direccion en memoria donde se encuentra el operando • Indirecto: Aquí, el campo de operando de la instrucción indica la localización de la dirección efectiva del operando.
  • 13. 12/02/2014 13 • EJECUCION Para la ejecución del programa simplemente basta teclear su nombre en el prompt de MS-DOS y teclear ENTER. Con esto el programa será cargado en memoria y el sistema procederá a ejecutarlo. El proceso completo para poder crear un programa ejecutable con el Microsoft Macro Assembler se muestra abajo. ESTRUCTURA GENERAL DE UN PROGRAMA EN LENGUAJE ENSAMBLADOR. • Lenguaje ensamblador que usa servicios o funciones de MS-DOS (system calls) para imprimir el mensaje Hola mundo!! en pantalla. • ; HOLA.ASM • ; Programa clasico de ejemplo. Despliega una leyenda en pantalla. • STACK SEGMENT STACK ; Segmento de pila • DW 64 DUP (?) ; Define espacio en la pila • STACK ENDS • DATA SEGMENT ; Segmento de datos • SALUDO DB "Hola mundo!!",13,10,"$" ; Cadena • DATA ENDS • CODE SEGMENT ; Segmento de Codigo • ASSUME CS:CODE, DS:DATA, SS:STACK • INICIO: ; Punto de entrada al programa • MOV AX,DATA ; Pone direccion en AX • MOV DS,AX ; Pone la direccion en los registros • MOV DX,OFFSET SALUDO ; Obtiene direccion del mensaje • MOV AH,09H ; Funcion: Visualizar cadena • INT 21H ; Servicio: Funciones alto nivel DOS • MOV AH,4CH ; Funcion: Terminar • INT 21H • CODE ENDS • END INICIO ; Marca fin y define INICIO
  • 14. 12/02/2014 14 • Estructura de una línea: • INSTRUCCIÓN EN ENSAMBLADOR • INSTRUCCIÓN EN LENGUAJE MÁQUINA SINTAXIS DE UN LENGUAJE ENSAMBLADOR DIRECCIÓN CÓDIGO DE OPERACIÓN DIRECCIÓN DE LOS OPERANDOS
  • 15. 12/02/2014 15 • Etiqueta • - Identifica la línea en la cual se encuentra. • - Se asocia a la dirección en la cual se encuentra la instrucción o el dato, o a la constante definida. • - Recomendaciones • • Utilizar sólo letras o números (comenzar por una letra). • • Colocar la primera letra de la etiqueta en el primer carácter de la línea. • Nemotécnico • - Identifica: • • Un código de operación del lenguaje • • Una pseudoinstrucción • Campo de operandos • - Identifica los operandos que intervienen en la instrucción o pseudoinstrucción. • - Tipos de operandos: • • Constantes • ∗ Numéricas: decimales(D), binarias (%,B), octales (O,@,Q,C), • hexadecimales (H,$). • ∗ Alfabéticas: entre comillas. • • Símbolos • ∗ Predefinidos: registros, contador de dirección de ensamblado. • ∗ Implícitos: etiquetas de dirección. • ∗ Explícitos: mediante pseudoinstrucciones. • • Expresiones • Comentarios • - Indicaciones para una mejor comprensión del programa ensamblador. • - Pueden comenzar con el símbolo “;”. CAMPOS DE UNA INSTRUCCIÓN EN ENSAMBLADOR • Registros de datos • Registros de segmento • Registros punteros de la pila • Registros índices • Registro de instrucciones • Registro de flags de estado EL MICROPROCESADOR 8086 TIENE CATORCE REGISTROS DE 16 BITS:
  • 16. 12/02/2014 16 • Los registros competos ax, bx, cx, dx trabajan sobre 16 bits, mientras la parte alta (ah, bh, ch, dh) y baja (al, bl, cl, dl) de cada registro trabaja sobre 8 bits, es esencial conocerlo para a la hora de programar no cometer errores en mover datos de un registro a otro. ax (ah - al) - acumulador bx (bh - bl) - registro base cx (ch - cl) - registro contador dx (dh - dl) - registro de datos sp - registro del apuntador de pila REGISTROS DE DATOS • SP - Puntero de pila • BP - Puntero base de pila • SI - Registro índice • DI - Registro índice • IP - Contador de programa REGISTROS PUNTEROS: REGISTRO DEL APUNTADOR DE PILA
  • 17. 12/02/2014 17 • CS - segmento de código • DS - segmento de datos • ES - segmento extra • SS - segmento pila REGISTROS DE SEGMENTO: INSTRUCCIONES DE TRANSAFERENCIA DE DATOS • mov: mueve o transfiere • xchg: intercambia • in: entrada • out:salida • xlat: traduce usando una tabla • lea: carga la direccion efectiva • lds: carga el segmento de datos • les: carga el segmento extra lahf: carga los indicadores en ah sahf: guarda ah en los indicadores push fuente: (sp)<- fuente pop destino: destino <- (sp)
  • 18. 12/02/2014 18 INSTRUCCIONES ARITMÉTICAS add: suma adc: suma con acarreo aaa: ajuste ascii para la suma daa: ajuste decimal para la suma sub: resta sbb: resta con acarreo negativo aas: ajuste ascii para la resta das: ajuste decimal para la resta mul: multiplicacion imul: multiplicacion entera aam: ajuste ascii para la multiplicacion div: division idiv: division entera aad: ajuste ascii para la division cbw: pasar octeto a palabra cwd: pasar palabra a doble palabra neg: negacion sti: poner a 1 el indicador de interrupcion cli: borrar el indicador de interrupcion into: interrupcion por capacidad excedida(desbordamiento) iret: retorno de interrupcion int: interrupcion int 21: interrupcion 21, esta manda llamar al sistema operativo que ejecuta las instrucciones anteriores int 20: interrupcion 20, esta interrupcion ejecuta lo anterior y termina el programa para que no se cicle INTERRUPCIONES