SlideShare una empresa de Scribd logo
INSTITUTO DE
ESTUDIO SUPERIOR
METROPOLITANO
INGENIERÍA EN TECNOLOGÍA DE LA
INFORMACIÓN
MATERIA:
LENGUAJE ENSAMBLADOR
CATEDRÁTICO:
ING. JUAN REYNOSO HERNÁNDEZ
ALUMNO:
JESÚS ADRIÁN MUÑOA MARTÍNEZ
TRABAJO:
INVESTIGACIÓN LENGUAJE
ENSAMBLADOR
INTRODUCCION
 El lenguaje ensamblador, o assembler (assembly language en
inglés), es un lenguaje de programaciónde bajo nivel para los
computadores, microprocesadores, microcontroladores y otros
circuitos integradosprogramables. 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.
Esta representación es usualmente definida por el fabricante de
hardware, y está basada en los mnemónicosque simbolizan los
pasos de procesamiento (las instrucciones), los registros del
procesador, las posiciones de memoria y otras características del
lenguaje. Un lenguaje ensamblador es por lo tanto específico de
cierta arquitectura de computador física (o virtual). Esto está en
contraste con la mayoría de los lenguajes de programación de
alto nivel,
1. FUNDAMENTOS DE
LENGUAJE ENSAMBLADOR
 Al desarrollarse las primeras computadoras electrónicas, se
vio la necesidad de programarlas, es decir, de almacenar
en memoria la información sobre la tarea que iban a
ejecutar. Las primeras se usaban como calculadoras
simples; se les indicaban los pasos de cálculo, uno por uno.
 Lenguaje Ensamblador es la primera abstracción del
Lenguaje de Máquina, consistente en asociar a los códigos
de operación (opcodes) palabras clave que faciliten su
uso por parte del programador.
 Como se puede ver, el Lenguaje Ensamblador es
directamente traducible al Lenguaje de Máquina, y
viceversa; simplemente, es una abstracción que facilita su
uso para los seres humanos. Por otro lado, la computadora
no entiende directamente el Lenguaje Ensamblador; es
necesario traducirle a Lenguaje de Máquina.
 Originalmente, este proceso se hacía a mano, usando
para ello hojas donde se escribían tablas de programa
similares al ejemplo de la calculadora que vimos
anteriormente. Pero, al ser tan directa la traducción,
pronto aparecieron los programas Ensambladores, que
son traductores que convierten el código fuente (en
Lenguaje Ensamblador) a código objeto (es decir, a
Lenguaje de Máquina).
 Una característica que hay que resaltar, es que al
depender estos lenguajes del hardware, hay un distinto
Lenguaje de Máquina (y, por consiguiente, un distinto
Lenguaje Ensamblador) para cada CPU. Por ejemplo,
podemos mencionar tres lenguajes completamente
diferentes, que sin embargo vienen de la aplicación de
los conceptos anteriores:
 1. Lenguaje Ensamblador de la familia Intel 80x86
 2. Lenguaje Ensamblador de la familia Motorola 68000
 3. Lenguaje Ensamblador del procesador POWER, usado
en las IBM RS/6000.
2. EL MICROPROCESADOR.
 El microprocesador es un circuito integrado que contiene algunos o todos los
elementos necesarios para conformar una (o más) “unidad central de
procesamiento” UCP, también conocido como CPU (por sus siglas en inglés:
Central Process Unit). En la actualidad este componente electrónico está
compuesto por millones de transistores, integrados en una misma placa de silicio.
 Se debe distinguir entre el concepto de Procesador, que es un concepto de
Hardware, con el concepto de CPU, que es un concepto lógico. Una CPU
puede estar soportada por uno o varios microprocesadores, y un
microprocesador puede soportar una o varias CPU.
 1.- El microprocesador es la parte de la computadora diseñada para llevar
acabo o ejecutar los programas.
 2.- Ejecuta instrucciones que se le dan a la computadora a muy bajo nivel
haciendo operaciones lógicas simples, como sumar, restar, multiplicar y dividir.
 3.- Viene siendo el cerebro de la computadora, el motor, el corazón de esta
máquina.’‘
 Esta conformado por los siguientes elementos: Memoria, Unidad Aritmetica
Logica (ALU), Puertos de Entrada y Salida (Buses), La Unidad de Control(UC) y un
reloj que sincroniza su funcionamiento.
2.1. BUSES
 Buses de comunicación en un circuito impreso. En Arquitectura de
computadores , el bus es un sistema digital que transfiere datos
entre los componentes de un computador o entre computadores.
Están formado por cables o pistas en un circuito impreso,
dispositivos como resistencias y condensadores además de
circuitos integrados.
 La mayoría de los buses están basados en conductores metálicos
por los cuales se trasmiten señales eléctricas que son enviadas y
recibidas con la ayuda de integrados que poseen una interfaz del
bus dado y se encargan de manejar las señales y entregarlas
como datos útiles.
 Todos los buses de computador tiene funciones especiales como
las interrupciones y las DMA que permiten que un dispositivo
periférico acceda a una CPU o a la memoria usando el minimo de
recursos.
2.2. REGISTROS
 Los registros del procesador se emplean para controlar
instrucciones en ejecución, manejar direccionamiento de memoria
y proporcionar capacidad aritmética. Los registros son espacios
físicos dentro del microprocesador con capacidad de 4 bits hasta
64 bits dependiendo del microprocesador que se emplee. Los
registros son direccionables por medio de una viñeta, que es una
dirección de memoria. Los bits, por conveniencia, se numeran de
derecha a izquierda (15,14,13…. 3,2,1,0), los registros están
divididos en seis grupos los cuales tienen un fin especifico. Los
registros se dividen en:
 • Registros de segmento
 • Registros de apuntadores de instrucciones
 • Registros apuntadores
 • Registros de propósitos generales
 • Registro índice
 • Registro de bandera.
2.3. MODOS DE
DIRECCIONAMIENTO
 El campo de operación de una instrucción especifica la operación que
se va a ejecutar. Esta operación debe realizarse sobre algunos datos
almacenados en registros de computadora o en palabras de memoria.
La manera en que eligen los operandos durante la ejecución del
programa depende del modo de direccionamiento de la instrucción. El
modo de direccionamiento especifica una regla para interpretar o
modificar el campo de dirección de la instrucción antes de que se haga
la referencia real al operando. Las computadoras utilizan técnicas de
modo de direccionamiento para acomodar una o las dos siguientes
consideraciones:
 1.- Proporcionar al usuario versatilidad de programación al ofrecer
facilidades como apuntadores a memoria, contadores para control de
ciclo, indexación de datos y reubicación de datos.
 2.- Reducir la cantidad de bits en el campo de direccionamiento de la
instrucción.
 Para comprender los diferentes modos de direccionamiento que se
presentaran en esta sección, es imperativo entender el ciclo de
operación básico de la computadora. La unidad de control de una
computadora esta diseñada para recorrer un ciclo de instrucciones que
se divide en tres fases principales:
 1. Búsqueda de la instrucción de la memoria.
 2. Decodificar la instrucción.
 3. Ejecutar la instrucción.
 Hay un registro en la computadora llamado contador de
programa o PC, que lleva un registro de las instrucciones del
programa almacenado en la memoria. Pc contiene la
dirección de la siguiente instrucción que se va a ejecutar y se
incrementa cada vez que se recupera una instrucción de la
memoria. La decodificación realizada en el paso 2 determina
la operación que se va a ejecutar, el modo de
direccionamiento de la instrucción y la posición de los
operandos.
 Después la computadora ejecuta la instrucción y regresa al
paso 1 para hacer la búsqueda de la siguiente instrucción en
secuencia.
 Aunque la mayoría de los modos de direccionamiento
modifican el campo de dirección de la instrucción, hay dos
modos que no necesitan el campo de dirección. Son los
modos implícito e inmediato.
 MODO IMPLÍCITO.
 MODO INMEDIATO.
 MODO DE REGISTRO.
 MODO INDIRECTO POR REGISTRO.
 MODO DE DIRECCIONAMIENTO DIRECTO.
 MODO DE DIRECCIONAMIENTO INDIRECTO.
 MODO DE DIRECCIONAMIENTO INDEXADO.
 MODO DE DIRECCIONAMIENTO DE REGISTRO BASE.
3. INTERRUPCIONES.
 Una interrupción es una operación que
suspende la ejecución de un programa
de modo que el sistema pueda realizar
una acción especial. La rutina de
interrupción ejecuta y por lo regular
regresa el control al procedimiento que
fue interrumpido, el cual entonces
reasume su ejecución.
3.1. Hardware.
 Las interrupciones hardware ocurren cuando un dispositivo
necesita atención del procesador y genera una señal
eléctrica en la línea IRQ que tiene asignada. Esta señal es
recogida y procesada por el controlador de excepciones
PIC antes de ser enviada al procesador, lo que puede
realizarse de dos formas, según el tipo de interrupción sea
enmascarable o no enmascarable.
 Cuando se habla de una significa que, bajo control del
software, el procesador puede aceptar o ignorar
(enmascarar) la señal de interrupción. Para ello se envía
una señal a la patilla INTR, y el procesador la atiende o la
ignora en función del contenido de un bit (IF) en un registro
(FLAGS) que puede estar habilitado o deshabilitado. En el
primer caso, cuando se recibe la señal, el procesador
concluye la instrucción que estuviese en proceso y a
continuación responde con una combinación de señales
en algunas de sus patillas componiendo una sucesión de
dos señales INTA ("Interrupt Acknowledge".
 La primera señal es simplemente un aviso; la segunda es una
petición para que el PIC coloque en el bus de datos un Byte
con el número de interrupción, de forma que el procesador
pueda localizar el servicio solicitado
 El valor recibido (0-255) es multiplicado por 4 para calcular la
dirección del vector correspondiente en la tabla de vectores
de interrupción, lo que se realiza mediante un
desplazamiento binario de dos posiciones a la izquierda.
 Interrupción no enmascarable significa que la interrupción no
puede ser deshabilitada por software. Este tipo de
interrupciones ocurren cuando se recibe una señal en la
patilla NMI ("Nonmaskable Interrupt") del procesador. Se
reservan para casos en que es crítica la respuesta, por
ejemplo que se detecte un error de paridad en la memoria.
Además son de prioridad más alta que las enmascarables.
3.2. Software.
 Los procesadores Intel de la gama x86 y compatibles, disponen de una instrucción INT que
permite generar por software cualquiera de los 256 tipos de interrupción anteriormente
descritos. El proceso seguido es exactamente el mismo que si se recibe una interrupción
hardware en la patilla INTR, salvo que en este caso se conoce el tipo de interrupción, y no se
requiere ningún ciclo INTA.
 Este tipo de interrupciones son de prioridad más alta que las de hardware (enmascarables y no
enmascarables), de forma que si se recibe una interrupción hardware mientras que se ejecuta
una software, esta última tiene prioridad.
 FUNCIONES DE LA BIOS
 Las funciones de la BIOS se invocan, desde los programas de usuario, ejecutando una
interrupción software con un cierto valor inicial en los registros. La BIOS emplea un cierto rango
de interrupciones, cada una encargada de una tarea específica:
 INT 10h: Servicios de Vídeo (texto y gráficos).
 INT 11h: Informe sobre la configuración del equipo.
 INT 12h: Informe sobre el tamaño de la memoria convencional.
 INT 13h: Servicios de disco (muy elementales: pistas, sectores, etc.).
 INT 14h: Comunicaciones en serie.
 INT 15h: Funciones casette (PC) y servicios especiales del sistema (AT).
 INT 16h: Servicios de teclado.
 INT 17h: Servicios de impresora.
 INT 18h: Llamar a la ROM del BASIC (sólo máquinas IBM).
 INT 19h: Reinicialización del sistema.
 INT 1Ah: Servicios horarios.
 INT 1Fh: Apunta a la tabla de los caracteres ASCII 128-255 (8x8 puntos).
 FUNCIONES DEL DOS
 El DOS emplea varias interrupciones, al igual que la BIOS; sin embargo,
cuando se habla de funciones del DOS, todo el mundo sobreentiende
que se trata de llamar a la INT 21h, la interrupción más importante con
diferencia.
 INT 20h: Terminar programa (tal vez en desuso).
 INT 21h: Servicios del DOS.
 INT 22h: Control de finalización de programas.
 INT 23h: Tratamiento de Ctrl-C.
 INT 24h: Tratamiento de errores críticos.
 INT 25h: Lectura absoluta de disco (sectores lógicos).
 INT 26h: Escritura absoluta en disco (sectores lógicos).
 INT 27h: Terminar dejando residente el programa (en desuso).
 INT 28h: Idle (ejecutada cuando el ordenador está inactivo).
 INT 29h: Impresión rápida en pantalla (no tanto).
 INT 2Ah: Red local MS NET.
 INT 2Bh-2Dh: Uso interno del DOS.
 INT 2Eh: Procesos Batch.
 INT 2Fh: Interrupción Multiplex.
 INT 30h-31h: Compatibilidad CP/M-80.
 INT 32h: Reservada.
EN
ENSAMBLADOR.
 Un programa en lenguaje ensamblador estará formado por una secuencia de
sentencias. Cada sentencia ocupa una sola línea y tiene la siguiente estructura:
 [etiqueta] [operación] [operandos] [;comentarios]
 Los cuatro campos de una sentencia son opcionales, si no aparece ninguno de
ellos (una línea en blanco) tendríamos una sentencia vacía.
 Las sentencias se dividen en dos tipos:
 * Instrucciones:
 Estas sentencias representan órdenes al procesador y tras el proceso de
compilación generan código ejecutable.
 * Directivas:
 Estas sentencias dirigen el proceso de compilación o construcción del programa
ejecutable. No generan código ejecutable. Normalmente se utilizan para
aumentar la legibilidad del código fuente.
 Estructura de un fichero en lenguaje ensamblador
 Los ficheros de código fuente escritos en lenguaje ensamblador se organizan en
líneas. Cada una de las líneas del fichero puede contener una directiva, una
instrucción o ambas cosas a la vez en los casos en que sea posible.
 Todos los ficheros fuente tienen que adecuarse a una estructura fija dividida en
secciones.
 La estructura a seguir se muestra a continuación:
 escala EQU 1000 ;Definición de constantes simbólicas
 ORIGEN 7F40h ;Definición del origen de carga del
programa
 INICIO ini ;Definición de la etiqueta que marca la
 ;primera instrucción a ejecutar del
programa
 .PILA 100h ;Definición de la pila
 .DATOS ;Definición de los datos del programa
 dato1 VALOR 12h
 …
 .CODIGO ;Definición del código del programa
 INI: MOV R5, R4
 …
 FIN
 No existe una convención establecida para la
estructura de un programa en lenguaje ensamblador
(no como sucede con otros lenguajes, como C/C++).
Como regla de oro, es necesarios la declaración de dos
segmentos, la de código (CODE) y la de pila (STACK). En
total, hay 4 segmentos principales: Segmento de datos,
Segmento de código, Segmento de pila y Segmento
Extra.
 Los diferentes segmentos tienen las siguientes funciones:
 Segmento de datos: Contiene la dirección donde inicia
la declaración de variables. Aquí, escribiremos nuestras
variables.
 Segmento de código: Contiene la dirección de inicio
donde se encuentran las instrucciones del programa.
Aquí, escribiremos todo el código de nuestro programa
 Segmento de pila: Contiene la dirección donde se
encuentra la pila.
 Segmento Extra: Contiene la dirección donde podemos
almacenar datos extras.
5. PROCEDIMIENTO DE ENSAMBLE,
ENLACE Y EJECUCIÓN
 Tal como esta, el programa es solo un archivo de texto que
no puede ejecutarse; primero debe ensamblarlo y enlazarlo.
 1. El paso de ensamble consiste en la traducción del código
fuente en código objeto y la generación de un archivo
intermedio .OBJ. El ensamblador también crea un
encabezado al frente del módulo .OBJ generado; parte del
encabezado tiene información acerca de direcciones
incompletas.
 2. El paso de enlace implica convertir un módulo .OBJ en un
módulo de codigo maquina .EXE
 3. El último paso es cargar el programa para su ejecución. Ya
que el cargador conoce en dónde está el programa apunto
de ser cargado, puede completar las direcciones indicadas
en el encabezado que estaban incompletas.
5.1. CÓMO ENSAMBLAR UN
PROGRAMA FUENTE.
 Puede teclear el comando a ejecutar MASM o TASM en una
linea de comando o por medio de peticiones. Por Ejemplo:
 MASM/TASM [opciones] fuente[,objeto] [,listado] [,refcruzadas]
 opciones: estipula caracteristicas como configuración del nivel
de mensajes de advertencia. Ya que los valores por omisión del
ensamblador por lo regular son los adecuados, rara vez
necesitara utilizar opciones.
 fuente: identifica el nombre del programa fuente, como Prog1. El
ensamblador asume que es extensión ASM de modo que no
necesita introducirla.
 objeto:estipula un archivo .OBJ generado.
 listado: estipula un archivo .LST generado que contiene tanto el
código fuente como el código objeto.
 refcruzadas: genera un archivo de referencias cruzadas con los
simbolos usados en el programa, que puede usar para un listado
de referencias cruzadas.
5.2. CÓMO ENLAZAR UN
PROGRAMA OBJETO.
 Una vez que su programa queda sin mensajes de error, el siguiente paso es
enlazar el módulo objeto, PROG1.OBJ, que producido por el ensamblador
y que sólo código de máquina. El enlazador genera un módulo .EXE y lo
inicializa con instrucciones especiales para facilitar su subsecuente carga
para ejecución. Una vez que ha enlazado uno o más módulos .OBJ en un
módulo .EXE cualquier número de veces. Pero siempre que necesite
realizar un cambio al programa, debe corregir el programa fuente,
ensamblarlo en otro módulo .OBJ y enlazar el módulo .OBJ en un módulo
.EXE.
 La version del enlazador de Microsoft es LINK, mientras que la de Borland
es TLINK. La linea de comando para enlazar es:
 LINK/TLINK archobj,archeje,[,archmapa][,archbibl]
 Archobj identifica al archivo objeto generado por el ensamblador. El
enlazador supone la extensión, de modo que no tiene que introducirla.
 Archeje estipula que se genere un archivo .EXE
 Archmapa estipula que se genere un archivo con extensión con .MAP que
indica la ubicacion relativa y el tamaño de cada segmento y cualquier
error que LINK haya encontrado.
 Archobj estipula la opción de bibliotecas, que no necesita en estos
primeros pasos de programación en lenguaje ensamblador.
5.3. Diagnóstico de Errores.
 El ensamblador proporciona un
diagnóstico de cualquier error de
programación que viole sus reglas. El
programa fue corrido en TASM, genera un
listado de errores. El comando para crear
el archivo de listado (*.lst) es:
 TASM /L PROG1
5.4. Cómo Ejecutar Un
Programa.
 Si el archivo .EXE esta en la unidad por
omisión, podria usar el DOS para cargarlo
para su ejecución introduciendo:
 PROG1.EXE o PROG1
1.6. Entorno de programación.
 Antes de que el COMMAND.COM pase el control al programa que se pretende ejecutar, se
crea un bloque de 256 bytes llamado PSP (Program Segment Prefix), cuya descripción detallada
se verá en el próximo capítulo. En él aparecen datos tales como la dirección de retorno al dos
cuando finalice el programa, la dirección de retorno en caso de Ctrl-Break y en caso de errores
críticos. Además de la cantidad de memoria disponible y los posibles parámetros suministrados
del programa. Cuando el programa toma el control, DS y ES apuntan al PSP. Tipos de
programas:
 En los de tipo COM:
 - CS apunta al PSP e IP=100h (el programa empieza tras el PSP).
 - SS apunta al PSP y SP toma la dirección más alta dentro del segmento del PSP.
 En los de tipo EXE:
 - CS e IP toman los valores del punto de arranque del programa (directiva END etiqueta).
 - SS apunta al segmento de pila y SP = tamaño de la pila definida.
 Los programas de tipo COM se cargan en memoria tal y como están en disco, entregándoseles
el control. Los de tipo EXE, que pueden llegar a manejar múltiples segmentos de código de
hasta 64 Kb, se almacenan en disco «semiensamblados». En realidad, al ser cargados en
memoria, el DOS tiene que realizar la última fase de montaje, calculando las direcciones de
memoria absolutas. Por ello, estos programas tienen un formato especial en disco, generado
por los ensambladores y compiladores, y su imagen en memoria no se corresponde realmente
con lo que está grabado en el disco, aunque esto al usuario no le importe. Por ello, no se
extrañe el lector de haber visto alguna vez ficheros EXE de más de 640 Kb: evidentemente, no
se cargan enteros en memoria aunque lo parezca.
 EJEMPLO DE PROGRAMA TIPO COM.
 El siguiente ejemplo escribe una cadena en pantalla llamando a uno de
los servicios estándar de impresión del DOS (función 9 de INT 21h):
 cr EQU 13 ; constante de retorno de carro
 lf EQU 10 ; constante de salto de línea
 programa SEGMENT ; segmento común a CS, DS, ES, SS.
 ASSUME CS:programa, DS:programa
 ORG 100h ; programa de tipo COM
 inicio: LEA DX,texto ; dirección de texto a imprimir
 MOV AH,9 ; función de impresión
 INT 21h ; llamar al DOS
 INT 20h ; volver al sistema operativo
 texto DB cr,lf,"Grupo Universitario de Informática.",cr,lf,"$"
 programa ENDS ; fin del segmento
 END inicio ; fin del programa y punto de inicio

 EJEMPLO PROGRAMA TIPO EXE
 Los programas EXE (listado al final de esta sección) requieren algo más
de elaboración. En primer lugar, es necesario definir una pila y reservar
espacio para la misma. Al contrario que los programas COM (cuya pila
se sitúa al final del segmento compartido también con el código y los
datos) esta característica obliga a definir un tamaño prudente en
función de las necesidades del programa.
 ; Segmento de datos
 datos SEGMENT
 texto DB cr,lf,"Texto a imprimir",cr,lf,"$"
 datos ENDS
 ; Segmento de pila
 pila SEGMENT STACK 'STACK' ; poner STACK es obligatorio
 DB 128 dup ('pila') ; reservados 512 bytes
 pila ENDS
 ; Segmento de código
 codigo SEGMENT
 ejemplo PROC FAR
 ASSUME CS:codigo, DS:datos, SS:pila
 ; poner dirección de retorno al DOS en la pila:
 PUSH DS ; segmento del PSP
 XOR AX,AX ; AX = 0
 PUSH AX ; desplazamiento 0 al PSP
 ; direccionar segmento de datos con DS
 MOV AX,datos ; AX = dirección del segmento de datos
 MOV DS,AX ; inicializar DS
 ; escribir texto
 LEA DX,texto ; DS:DX = dirección del texto
 MOV AH,9
 INT 21h
 ; volver al DOS
 RET ; en realidad, RETF (PROC FAR)
 ejemplo ENDP
 codigo ENDS ; fin del código
 END ejemplo ; punto de arranque del programa
EVOLUCIÓN DE WINDOWS
 1975-1981: El surgimiento de MS-DOS.
 1982-1985: Presentamos Windows 1.0.
 1987–1990: Windows 2.0–2.11: más ventanas, mayor
velocidad.
 1990–1994: Windows 3.0–Windows NT: se obtienen los gráficos.
 1995–1998: Windows 95: el equipo se hace mayor (y no olvides
Internet).
 1998–2000: Windows 98, Windows 2000, Windows Me—
Windows evoluciona para trabajar y jugar.
 2001–2005: Windows XP: estable, utilizable y rápido.
 2006–2008: Windows Vista: seguridad inteligente.
 2009: Windows 7 presenta Windows Touch.
 2012: Windows 8 presenta aplicaciones y mosaicos.
 2013: Windows 8.1 amplía la visión de Windows 8.
 2015: Windows 10.
CONCLUSIÓN
 NOS DAMOS CUENTA QUE EL LENGUAJE
ENSAMBLADOR SIRVE PARA
COMUNICARNOS CON LA MAQUINA ESTO
NOS AYUDA EN PROGRAMACIÓN EN
DONDE LA MAYORÍA DE LAS COSAS LO
ASEMOS CON COMANDO QUE LA
MAQUINA ENTIENDE TODO LO QUE
CONOCEMOS A NIVEL TECNOLOGÍA ESTA
VASADO A LENGUAJE MAQUINA
BIBLIOGRAFÍA
 http://gente-itsm.blogspot.mx/2011/09/unidad-1-fundamentos.html
 http://atc2.aut.uah.es/~avicente/asignaturas/leoc/pdf/t1_fundam
entosdelensamblador.pdf
 https://chematec.wordpress.com/2010/09/09/unidad-i-
fundamentos-del-lenguaje-ensamblador/
 http://www.ittux.edu.mx/sites/default/files/MICROCOMPUTADORAS
_AL_DETALLE.pdf
 https://es.wikipedia.org/wiki/Interrupci%C3%B3n
 http://bbeltran.cs.buap.mx/Interrupciones.pdf

Más contenido relacionado

La actualidad más candente

Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
Angel Miguel Coria Lopez
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
ROSA IMELDA GARCIA CHI
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
Brayhan Acosta
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazXavi Flores
 
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
Humano Terricola
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Humano Terricola
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
juan1993are
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Hugo Alberto Rivera Diaz
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores JUANR1022
 
Diferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmoDiferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmo
johan stoker
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
Eustakiu Padilla
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
Jonathan Bastidas
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
Sara Martínez Gómez
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
Eduardo Suarez
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
José Antonio Sandoval Acosta
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+x
Sophia Galarraga
 
Dispositvos de entrada y salida
Dispositvos de entrada y salidaDispositvos de entrada y salida
Dispositvos de entrada y salida
itzayana bacilio
 
Diapositivas lenguaje ensamblador
Diapositivas lenguaje ensambladorDiapositivas lenguaje ensamblador
Diapositivas lenguaje ensamblador
DANIELCUEVASUAREZ
 

La actualidad más candente (20)

Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
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
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Diferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmoDiferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmo
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+x
 
Dispositvos de entrada y salida
Dispositvos de entrada y salidaDispositvos de entrada y salida
Dispositvos de entrada y salida
 
Diapositivas lenguaje ensamblador
Diapositivas lenguaje ensambladorDiapositivas lenguaje ensamblador
Diapositivas lenguaje ensamblador
 

Destacado

Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
Efrain Ruiz Fernandez
 
Lenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPULenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPU
romo91
 
Arquitectura de Computadores
Arquitectura de ComputadoresArquitectura de Computadores
Arquitectura de Computadores
Erwin Meza
 
Tarea de efrain ruiz fernandez
Tarea de efrain ruiz fernandezTarea de efrain ruiz fernandez
Tarea de efrain ruiz fernandez
Efrain Ruiz Fernandez
 
Interrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardwareInterrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardware
Carlos Yanez
 
Interrupciones Del IBM PC
Interrupciones Del IBM PCInterrupciones Del IBM PC
Interrupciones Del IBM PC
Byron Medina
 
Proyectos Web 1 Fundamentos
Proyectos Web   1 FundamentosProyectos Web   1 Fundamentos
Proyectos Web 1 Fundamentos
Jose Ponce
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
alarcon14
 
Interrupciones del microprocesador
Interrupciones del microprocesadorInterrupciones del microprocesador
Interrupciones del microprocesadorJorge Luis Tinoco
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
matrix1979
 
Interrupciones
InterrupcionesInterrupciones
Interrupcioneshandresrm
 
Interrupciones de hardware
Interrupciones de hardwareInterrupciones de hardware
Interrupciones de hardware
SpiderHal
 
Fundamentos del desarrollo del lenguaje
Fundamentos del desarrollo del lenguajeFundamentos del desarrollo del lenguaje
Fundamentos del desarrollo del lenguaje
k4rol1n4
 
Interrupciones y llamadas del sistema
Interrupciones y llamadas del sistemaInterrupciones y llamadas del sistema
Interrupciones y llamadas del sistemajomapuga
 
2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su EntornoMeztli Valeriano Orozco
 
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
Cibele Vasconcelos Dziekaniak
 
Tipos De Lenguajes
Tipos De LenguajesTipos De Lenguajes
Tipos De Lenguajes
orfeo_d_lirabel
 
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 felipeDanielRomoDR
 

Destacado (20)

Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPULenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPU
 
Arquitectura de Computadores
Arquitectura de ComputadoresArquitectura de Computadores
Arquitectura de Computadores
 
Tarea de efrain ruiz fernandez
Tarea de efrain ruiz fernandezTarea de efrain ruiz fernandez
Tarea de efrain ruiz fernandez
 
Interrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardwareInterrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardware
 
Interrupciones Del IBM PC
Interrupciones Del IBM PCInterrupciones Del IBM PC
Interrupciones Del IBM PC
 
Proyectos Web 1 Fundamentos
Proyectos Web   1 FundamentosProyectos Web   1 Fundamentos
Proyectos Web 1 Fundamentos
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Interrupciones del microprocesador
Interrupciones del microprocesadorInterrupciones del microprocesador
Interrupciones del microprocesador
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Interrupciones de hardware
Interrupciones de hardwareInterrupciones de hardware
Interrupciones de hardware
 
Fundamentos del desarrollo del lenguaje
Fundamentos del desarrollo del lenguajeFundamentos del desarrollo del lenguaje
Fundamentos del desarrollo del lenguaje
 
Interrupciones y llamadas del sistema
Interrupciones y llamadas del sistemaInterrupciones y llamadas del sistema
Interrupciones y llamadas del sistema
 
2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno
 
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
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 

Similar a FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR

Sistemas operativos 1
Sistemas operativos 1Sistemas operativos 1
Sistemas operativos 1
jherz2024
 
efrain ruiz fernandez lenjuaje
efrain ruiz fernandez lenjuajeefrain ruiz fernandez lenjuaje
efrain ruiz fernandez lenjuaje
Efrain Ruiz Fernandez
 
Sistemas digitales ii
Sistemas digitales iiSistemas digitales ii
Sistemas digitales ii
ngelMadrid
 
Sistemas digitales ii
Sistemas digitales iiSistemas digitales ii
Sistemas digitales ii
Joalixvs
 
Sistemas digitales ii
Sistemas digitales iiSistemas digitales ii
Sistemas digitales ii
Joalixvs
 
Sistemas digitales ii
Sistemas digitales iiSistemas digitales ii
Sistemas digitales ii
ngelMadrid
 
UNIDADES FUNCIONALES DEL ORDENADOR
UNIDADES FUNCIONALES DEL ORDENADORUNIDADES FUNCIONALES DEL ORDENADOR
UNIDADES FUNCIONALES DEL ORDENADOR
GovindaRomero
 
Arquitecturadecomputadores
ArquitecturadecomputadoresArquitecturadecomputadores
Arquitecturadecomputadorescristireyes
 
Arquitecturadecomputadores
ArquitecturadecomputadoresArquitecturadecomputadores
Arquitecturadecomputadorescristireyes
 
Atiquectura de computadoras
Atiquectura  de computadorasAtiquectura  de computadoras
Atiquectura de computadoras
rubioalexys
 
Evolucion De Los Microprocesadores
Evolucion De Los MicroprocesadoresEvolucion De Los Microprocesadores
Evolucion De Los Microprocesadoresguesta60221
 
Arquitectura de-la-computadora
Arquitectura de-la-computadoraArquitectura de-la-computadora
Arquitectura de-la-computadora
vanessamorales203
 
Arquitectura de-la-computadora
Arquitectura de-la-computadoraArquitectura de-la-computadora
Arquitectura de-la-computadora
vanessamorales203
 
Arquitectura de-la-computadora
Arquitectura de-la-computadoraArquitectura de-la-computadora
Arquitectura de-la-computadora
vanessamorales203
 
Arquitectura de-la-computadora
Arquitectura de-la-computadoraArquitectura de-la-computadora
Arquitectura de-la-computadora
vanessamorales203
 
Arquitectura de-la-computadora
Arquitectura de-la-computadoraArquitectura de-la-computadora
Arquitectura de-la-computadora
vanessamorales203
 

Similar a FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR (20)

Sistemas operativos 1
Sistemas operativos 1Sistemas operativos 1
Sistemas operativos 1
 
efrain ruiz fernandez lenjuaje
efrain ruiz fernandez lenjuajeefrain ruiz fernandez lenjuaje
efrain ruiz fernandez lenjuaje
 
Sistemas digitales ii
Sistemas digitales iiSistemas digitales ii
Sistemas digitales ii
 
Sistemas digitales ii
Sistemas digitales iiSistemas digitales ii
Sistemas digitales ii
 
Sistemas digitales ii
Sistemas digitales iiSistemas digitales ii
Sistemas digitales ii
 
Sistemas digitales ii
Sistemas digitales iiSistemas digitales ii
Sistemas digitales ii
 
UNIDADES FUNCIONALES DEL ORDENADOR
UNIDADES FUNCIONALES DEL ORDENADORUNIDADES FUNCIONALES DEL ORDENADOR
UNIDADES FUNCIONALES DEL ORDENADOR
 
Arquitecturadecomputadores
ArquitecturadecomputadoresArquitecturadecomputadores
Arquitecturadecomputadores
 
Arquitecturadecomputadores
ArquitecturadecomputadoresArquitecturadecomputadores
Arquitecturadecomputadores
 
Procesador
ProcesadorProcesador
Procesador
 
Fundamentos de los Microcontroladores
Fundamentos de los MicrocontroladoresFundamentos de los Microcontroladores
Fundamentos de los Microcontroladores
 
Atiquectura de computadoras
Atiquectura  de computadorasAtiquectura  de computadoras
Atiquectura de computadoras
 
Evolucion De Los Microprocesadores
Evolucion De Los MicroprocesadoresEvolucion De Los Microprocesadores
Evolucion De Los Microprocesadores
 
Tema 11
Tema 11Tema 11
Tema 11
 
Arquitectura de-la-computadora
Arquitectura de-la-computadoraArquitectura de-la-computadora
Arquitectura de-la-computadora
 
Arquitectura de-la-computadora
Arquitectura de-la-computadoraArquitectura de-la-computadora
Arquitectura de-la-computadora
 
Arquitectura de-la-computadora
Arquitectura de-la-computadoraArquitectura de-la-computadora
Arquitectura de-la-computadora
 
Arquitectura de-la-computadora
Arquitectura de-la-computadoraArquitectura de-la-computadora
Arquitectura de-la-computadora
 
Arquitectura de-la-computadora
Arquitectura de-la-computadoraArquitectura de-la-computadora
Arquitectura de-la-computadora
 
Mi largo resumen...
Mi largo resumen...Mi largo resumen...
Mi largo resumen...
 

Último

Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 

Último (20)

Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 

FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR

  • 1. INSTITUTO DE ESTUDIO SUPERIOR METROPOLITANO INGENIERÍA EN TECNOLOGÍA DE LA INFORMACIÓN MATERIA: LENGUAJE ENSAMBLADOR CATEDRÁTICO: ING. JUAN REYNOSO HERNÁNDEZ ALUMNO: JESÚS ADRIÁN MUÑOA MARTÍNEZ TRABAJO: INVESTIGACIÓN LENGUAJE ENSAMBLADOR
  • 2. INTRODUCCION  El lenguaje ensamblador, o assembler (assembly language en inglés), es un lenguaje de programaciónde bajo nivel para los computadores, microprocesadores, microcontroladores y otros circuitos integradosprogramables. 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. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicosque simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel,
  • 3. 1. FUNDAMENTOS DE LENGUAJE ENSAMBLADOR  Al desarrollarse las primeras computadoras electrónicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria la información sobre la tarea que iban a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban los pasos de cálculo, uno por uno.  Lenguaje Ensamblador es la primera abstracción del Lenguaje de Máquina, consistente en asociar a los códigos de operación (opcodes) palabras clave que faciliten su uso por parte del programador.  Como se puede ver, el Lenguaje Ensamblador es directamente traducible al Lenguaje de Máquina, y viceversa; simplemente, es una abstracción que facilita su uso para los seres humanos. Por otro lado, la computadora no entiende directamente el Lenguaje Ensamblador; es necesario traducirle a Lenguaje de Máquina.
  • 4.  Originalmente, este proceso se hacía a mano, usando para ello hojas donde se escribían tablas de programa similares al ejemplo de la calculadora que vimos anteriormente. Pero, al ser tan directa la traducción, pronto aparecieron los programas Ensambladores, que son traductores que convierten el código fuente (en Lenguaje Ensamblador) a código objeto (es decir, a Lenguaje de Máquina).  Una característica que hay que resaltar, es que al depender estos lenguajes del hardware, hay un distinto Lenguaje de Máquina (y, por consiguiente, un distinto Lenguaje Ensamblador) para cada CPU. Por ejemplo, podemos mencionar tres lenguajes completamente diferentes, que sin embargo vienen de la aplicación de los conceptos anteriores:  1. Lenguaje Ensamblador de la familia Intel 80x86  2. Lenguaje Ensamblador de la familia Motorola 68000  3. Lenguaje Ensamblador del procesador POWER, usado en las IBM RS/6000.
  • 5. 2. EL MICROPROCESADOR.  El microprocesador es un circuito integrado que contiene algunos o todos los elementos necesarios para conformar una (o más) “unidad central de procesamiento” UCP, también conocido como CPU (por sus siglas en inglés: Central Process Unit). En la actualidad este componente electrónico está compuesto por millones de transistores, integrados en una misma placa de silicio.  Se debe distinguir entre el concepto de Procesador, que es un concepto de Hardware, con el concepto de CPU, que es un concepto lógico. Una CPU puede estar soportada por uno o varios microprocesadores, y un microprocesador puede soportar una o varias CPU.  1.- El microprocesador es la parte de la computadora diseñada para llevar acabo o ejecutar los programas.  2.- Ejecuta instrucciones que se le dan a la computadora a muy bajo nivel haciendo operaciones lógicas simples, como sumar, restar, multiplicar y dividir.  3.- Viene siendo el cerebro de la computadora, el motor, el corazón de esta máquina.’‘  Esta conformado por los siguientes elementos: Memoria, Unidad Aritmetica Logica (ALU), Puertos de Entrada y Salida (Buses), La Unidad de Control(UC) y un reloj que sincroniza su funcionamiento.
  • 6. 2.1. BUSES  Buses de comunicación en un circuito impreso. En Arquitectura de computadores , el bus es un sistema digital que transfiere datos entre los componentes de un computador o entre computadores. Están formado por cables o pistas en un circuito impreso, dispositivos como resistencias y condensadores además de circuitos integrados.  La mayoría de los buses están basados en conductores metálicos por los cuales se trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las señales y entregarlas como datos útiles.  Todos los buses de computador tiene funciones especiales como las interrupciones y las DMA que permiten que un dispositivo periférico acceda a una CPU o a la memoria usando el minimo de recursos.
  • 7. 2.2. REGISTROS  Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee. Los registros son direccionables por medio de una viñeta, que es una dirección de memoria. Los bits, por conveniencia, se numeran de derecha a izquierda (15,14,13…. 3,2,1,0), los registros están divididos en seis grupos los cuales tienen un fin especifico. Los registros se dividen en:  • Registros de segmento  • Registros de apuntadores de instrucciones  • Registros apuntadores  • Registros de propósitos generales  • Registro índice  • Registro de bandera.
  • 8. 2.3. MODOS DE DIRECCIONAMIENTO  El campo de operación de una instrucción especifica la operación que se va a ejecutar. Esta operación debe realizarse sobre algunos datos almacenados en registros de computadora o en palabras de memoria. La manera en que eligen los operandos durante la ejecución del programa depende del modo de direccionamiento de la instrucción. El modo de direccionamiento especifica una regla para interpretar o modificar el campo de dirección de la instrucción antes de que se haga la referencia real al operando. Las computadoras utilizan técnicas de modo de direccionamiento para acomodar una o las dos siguientes consideraciones:  1.- Proporcionar al usuario versatilidad de programación al ofrecer facilidades como apuntadores a memoria, contadores para control de ciclo, indexación de datos y reubicación de datos.  2.- Reducir la cantidad de bits en el campo de direccionamiento de la instrucción.  Para comprender los diferentes modos de direccionamiento que se presentaran en esta sección, es imperativo entender el ciclo de operación básico de la computadora. La unidad de control de una computadora esta diseñada para recorrer un ciclo de instrucciones que se divide en tres fases principales:
  • 9.  1. Búsqueda de la instrucción de la memoria.  2. Decodificar la instrucción.  3. Ejecutar la instrucción.  Hay un registro en la computadora llamado contador de programa o PC, que lleva un registro de las instrucciones del programa almacenado en la memoria. Pc contiene la dirección de la siguiente instrucción que se va a ejecutar y se incrementa cada vez que se recupera una instrucción de la memoria. La decodificación realizada en el paso 2 determina la operación que se va a ejecutar, el modo de direccionamiento de la instrucción y la posición de los operandos.  Después la computadora ejecuta la instrucción y regresa al paso 1 para hacer la búsqueda de la siguiente instrucción en secuencia.  Aunque la mayoría de los modos de direccionamiento modifican el campo de dirección de la instrucción, hay dos modos que no necesitan el campo de dirección. Son los modos implícito e inmediato.
  • 10.  MODO IMPLÍCITO.  MODO INMEDIATO.  MODO DE REGISTRO.  MODO INDIRECTO POR REGISTRO.  MODO DE DIRECCIONAMIENTO DIRECTO.  MODO DE DIRECCIONAMIENTO INDIRECTO.  MODO DE DIRECCIONAMIENTO INDEXADO.  MODO DE DIRECCIONAMIENTO DE REGISTRO BASE.
  • 11. 3. INTERRUPCIONES.  Una interrupción es una operación que suspende la ejecución de un programa de modo que el sistema pueda realizar una acción especial. La rutina de interrupción ejecuta y por lo regular regresa el control al procedimiento que fue interrumpido, el cual entonces reasume su ejecución.
  • 12. 3.1. Hardware.  Las interrupciones hardware ocurren cuando un dispositivo necesita atención del procesador y genera una señal eléctrica en la línea IRQ que tiene asignada. Esta señal es recogida y procesada por el controlador de excepciones PIC antes de ser enviada al procesador, lo que puede realizarse de dos formas, según el tipo de interrupción sea enmascarable o no enmascarable.  Cuando se habla de una significa que, bajo control del software, el procesador puede aceptar o ignorar (enmascarar) la señal de interrupción. Para ello se envía una señal a la patilla INTR, y el procesador la atiende o la ignora en función del contenido de un bit (IF) en un registro (FLAGS) que puede estar habilitado o deshabilitado. En el primer caso, cuando se recibe la señal, el procesador concluye la instrucción que estuviese en proceso y a continuación responde con una combinación de señales en algunas de sus patillas componiendo una sucesión de dos señales INTA ("Interrupt Acknowledge".
  • 13.  La primera señal es simplemente un aviso; la segunda es una petición para que el PIC coloque en el bus de datos un Byte con el número de interrupción, de forma que el procesador pueda localizar el servicio solicitado  El valor recibido (0-255) es multiplicado por 4 para calcular la dirección del vector correspondiente en la tabla de vectores de interrupción, lo que se realiza mediante un desplazamiento binario de dos posiciones a la izquierda.  Interrupción no enmascarable significa que la interrupción no puede ser deshabilitada por software. Este tipo de interrupciones ocurren cuando se recibe una señal en la patilla NMI ("Nonmaskable Interrupt") del procesador. Se reservan para casos en que es crítica la respuesta, por ejemplo que se detecte un error de paridad en la memoria. Además son de prioridad más alta que las enmascarables.
  • 14. 3.2. Software.  Los procesadores Intel de la gama x86 y compatibles, disponen de una instrucción INT que permite generar por software cualquiera de los 256 tipos de interrupción anteriormente descritos. El proceso seguido es exactamente el mismo que si se recibe una interrupción hardware en la patilla INTR, salvo que en este caso se conoce el tipo de interrupción, y no se requiere ningún ciclo INTA.  Este tipo de interrupciones son de prioridad más alta que las de hardware (enmascarables y no enmascarables), de forma que si se recibe una interrupción hardware mientras que se ejecuta una software, esta última tiene prioridad.  FUNCIONES DE LA BIOS  Las funciones de la BIOS se invocan, desde los programas de usuario, ejecutando una interrupción software con un cierto valor inicial en los registros. La BIOS emplea un cierto rango de interrupciones, cada una encargada de una tarea específica:  INT 10h: Servicios de Vídeo (texto y gráficos).  INT 11h: Informe sobre la configuración del equipo.  INT 12h: Informe sobre el tamaño de la memoria convencional.  INT 13h: Servicios de disco (muy elementales: pistas, sectores, etc.).  INT 14h: Comunicaciones en serie.  INT 15h: Funciones casette (PC) y servicios especiales del sistema (AT).  INT 16h: Servicios de teclado.  INT 17h: Servicios de impresora.  INT 18h: Llamar a la ROM del BASIC (sólo máquinas IBM).  INT 19h: Reinicialización del sistema.  INT 1Ah: Servicios horarios.  INT 1Fh: Apunta a la tabla de los caracteres ASCII 128-255 (8x8 puntos).
  • 15.  FUNCIONES DEL DOS  El DOS emplea varias interrupciones, al igual que la BIOS; sin embargo, cuando se habla de funciones del DOS, todo el mundo sobreentiende que se trata de llamar a la INT 21h, la interrupción más importante con diferencia.  INT 20h: Terminar programa (tal vez en desuso).  INT 21h: Servicios del DOS.  INT 22h: Control de finalización de programas.  INT 23h: Tratamiento de Ctrl-C.  INT 24h: Tratamiento de errores críticos.  INT 25h: Lectura absoluta de disco (sectores lógicos).  INT 26h: Escritura absoluta en disco (sectores lógicos).  INT 27h: Terminar dejando residente el programa (en desuso).  INT 28h: Idle (ejecutada cuando el ordenador está inactivo).  INT 29h: Impresión rápida en pantalla (no tanto).  INT 2Ah: Red local MS NET.  INT 2Bh-2Dh: Uso interno del DOS.  INT 2Eh: Procesos Batch.  INT 2Fh: Interrupción Multiplex.  INT 30h-31h: Compatibilidad CP/M-80.  INT 32h: Reservada.
  • 16. EN ENSAMBLADOR.  Un programa en lenguaje ensamblador estará formado por una secuencia de sentencias. Cada sentencia ocupa una sola línea y tiene la siguiente estructura:  [etiqueta] [operación] [operandos] [;comentarios]  Los cuatro campos de una sentencia son opcionales, si no aparece ninguno de ellos (una línea en blanco) tendríamos una sentencia vacía.  Las sentencias se dividen en dos tipos:  * Instrucciones:  Estas sentencias representan órdenes al procesador y tras el proceso de compilación generan código ejecutable.  * Directivas:  Estas sentencias dirigen el proceso de compilación o construcción del programa ejecutable. No generan código ejecutable. Normalmente se utilizan para aumentar la legibilidad del código fuente.  Estructura de un fichero en lenguaje ensamblador  Los ficheros de código fuente escritos en lenguaje ensamblador se organizan en líneas. Cada una de las líneas del fichero puede contener una directiva, una instrucción o ambas cosas a la vez en los casos en que sea posible.  Todos los ficheros fuente tienen que adecuarse a una estructura fija dividida en secciones.
  • 17.  La estructura a seguir se muestra a continuación:  escala EQU 1000 ;Definición de constantes simbólicas  ORIGEN 7F40h ;Definición del origen de carga del programa  INICIO ini ;Definición de la etiqueta que marca la  ;primera instrucción a ejecutar del programa  .PILA 100h ;Definición de la pila  .DATOS ;Definición de los datos del programa  dato1 VALOR 12h  …  .CODIGO ;Definición del código del programa  INI: MOV R5, R4  …  FIN
  • 18.  No existe una convención establecida para la estructura de un programa en lenguaje ensamblador (no como sucede con otros lenguajes, como C/C++). Como regla de oro, es necesarios la declaración de dos segmentos, la de código (CODE) y la de pila (STACK). En total, hay 4 segmentos principales: Segmento de datos, Segmento de código, Segmento de pila y Segmento Extra.  Los diferentes segmentos tienen las siguientes funciones:  Segmento de datos: Contiene la dirección donde inicia la declaración de variables. Aquí, escribiremos nuestras variables.  Segmento de código: Contiene la dirección de inicio donde se encuentran las instrucciones del programa. Aquí, escribiremos todo el código de nuestro programa  Segmento de pila: Contiene la dirección donde se encuentra la pila.  Segmento Extra: Contiene la dirección donde podemos almacenar datos extras.
  • 19. 5. PROCEDIMIENTO DE ENSAMBLE, ENLACE Y EJECUCIÓN  Tal como esta, el programa es solo un archivo de texto que no puede ejecutarse; primero debe ensamblarlo y enlazarlo.  1. El paso de ensamble consiste en la traducción del código fuente en código objeto y la generación de un archivo intermedio .OBJ. El ensamblador también crea un encabezado al frente del módulo .OBJ generado; parte del encabezado tiene información acerca de direcciones incompletas.  2. El paso de enlace implica convertir un módulo .OBJ en un módulo de codigo maquina .EXE  3. El último paso es cargar el programa para su ejecución. Ya que el cargador conoce en dónde está el programa apunto de ser cargado, puede completar las direcciones indicadas en el encabezado que estaban incompletas.
  • 20. 5.1. CÓMO ENSAMBLAR UN PROGRAMA FUENTE.  Puede teclear el comando a ejecutar MASM o TASM en una linea de comando o por medio de peticiones. Por Ejemplo:  MASM/TASM [opciones] fuente[,objeto] [,listado] [,refcruzadas]  opciones: estipula caracteristicas como configuración del nivel de mensajes de advertencia. Ya que los valores por omisión del ensamblador por lo regular son los adecuados, rara vez necesitara utilizar opciones.  fuente: identifica el nombre del programa fuente, como Prog1. El ensamblador asume que es extensión ASM de modo que no necesita introducirla.  objeto:estipula un archivo .OBJ generado.  listado: estipula un archivo .LST generado que contiene tanto el código fuente como el código objeto.  refcruzadas: genera un archivo de referencias cruzadas con los simbolos usados en el programa, que puede usar para un listado de referencias cruzadas.
  • 21. 5.2. CÓMO ENLAZAR UN PROGRAMA OBJETO.  Una vez que su programa queda sin mensajes de error, el siguiente paso es enlazar el módulo objeto, PROG1.OBJ, que producido por el ensamblador y que sólo código de máquina. El enlazador genera un módulo .EXE y lo inicializa con instrucciones especiales para facilitar su subsecuente carga para ejecución. Una vez que ha enlazado uno o más módulos .OBJ en un módulo .EXE cualquier número de veces. Pero siempre que necesite realizar un cambio al programa, debe corregir el programa fuente, ensamblarlo en otro módulo .OBJ y enlazar el módulo .OBJ en un módulo .EXE.  La version del enlazador de Microsoft es LINK, mientras que la de Borland es TLINK. La linea de comando para enlazar es:  LINK/TLINK archobj,archeje,[,archmapa][,archbibl]  Archobj identifica al archivo objeto generado por el ensamblador. El enlazador supone la extensión, de modo que no tiene que introducirla.  Archeje estipula que se genere un archivo .EXE  Archmapa estipula que se genere un archivo con extensión con .MAP que indica la ubicacion relativa y el tamaño de cada segmento y cualquier error que LINK haya encontrado.  Archobj estipula la opción de bibliotecas, que no necesita en estos primeros pasos de programación en lenguaje ensamblador.
  • 22. 5.3. Diagnóstico de Errores.  El ensamblador proporciona un diagnóstico de cualquier error de programación que viole sus reglas. El programa fue corrido en TASM, genera un listado de errores. El comando para crear el archivo de listado (*.lst) es:  TASM /L PROG1
  • 23. 5.4. Cómo Ejecutar Un Programa.  Si el archivo .EXE esta en la unidad por omisión, podria usar el DOS para cargarlo para su ejecución introduciendo:  PROG1.EXE o PROG1
  • 24. 1.6. Entorno de programación.  Antes de que el COMMAND.COM pase el control al programa que se pretende ejecutar, se crea un bloque de 256 bytes llamado PSP (Program Segment Prefix), cuya descripción detallada se verá en el próximo capítulo. En él aparecen datos tales como la dirección de retorno al dos cuando finalice el programa, la dirección de retorno en caso de Ctrl-Break y en caso de errores críticos. Además de la cantidad de memoria disponible y los posibles parámetros suministrados del programa. Cuando el programa toma el control, DS y ES apuntan al PSP. Tipos de programas:  En los de tipo COM:  - CS apunta al PSP e IP=100h (el programa empieza tras el PSP).  - SS apunta al PSP y SP toma la dirección más alta dentro del segmento del PSP.  En los de tipo EXE:  - CS e IP toman los valores del punto de arranque del programa (directiva END etiqueta).  - SS apunta al segmento de pila y SP = tamaño de la pila definida.  Los programas de tipo COM se cargan en memoria tal y como están en disco, entregándoseles el control. Los de tipo EXE, que pueden llegar a manejar múltiples segmentos de código de hasta 64 Kb, se almacenan en disco «semiensamblados». En realidad, al ser cargados en memoria, el DOS tiene que realizar la última fase de montaje, calculando las direcciones de memoria absolutas. Por ello, estos programas tienen un formato especial en disco, generado por los ensambladores y compiladores, y su imagen en memoria no se corresponde realmente con lo que está grabado en el disco, aunque esto al usuario no le importe. Por ello, no se extrañe el lector de haber visto alguna vez ficheros EXE de más de 640 Kb: evidentemente, no se cargan enteros en memoria aunque lo parezca.
  • 25.  EJEMPLO DE PROGRAMA TIPO COM.  El siguiente ejemplo escribe una cadena en pantalla llamando a uno de los servicios estándar de impresión del DOS (función 9 de INT 21h):  cr EQU 13 ; constante de retorno de carro  lf EQU 10 ; constante de salto de línea  programa SEGMENT ; segmento común a CS, DS, ES, SS.  ASSUME CS:programa, DS:programa  ORG 100h ; programa de tipo COM  inicio: LEA DX,texto ; dirección de texto a imprimir  MOV AH,9 ; función de impresión  INT 21h ; llamar al DOS  INT 20h ; volver al sistema operativo  texto DB cr,lf,"Grupo Universitario de Informática.",cr,lf,"$"  programa ENDS ; fin del segmento  END inicio ; fin del programa y punto de inicio   EJEMPLO PROGRAMA TIPO EXE  Los programas EXE (listado al final de esta sección) requieren algo más de elaboración. En primer lugar, es necesario definir una pila y reservar espacio para la misma. Al contrario que los programas COM (cuya pila se sitúa al final del segmento compartido también con el código y los datos) esta característica obliga a definir un tamaño prudente en función de las necesidades del programa.
  • 26.  ; Segmento de datos  datos SEGMENT  texto DB cr,lf,"Texto a imprimir",cr,lf,"$"  datos ENDS  ; Segmento de pila  pila SEGMENT STACK 'STACK' ; poner STACK es obligatorio  DB 128 dup ('pila') ; reservados 512 bytes  pila ENDS  ; Segmento de código  codigo SEGMENT  ejemplo PROC FAR  ASSUME CS:codigo, DS:datos, SS:pila  ; poner dirección de retorno al DOS en la pila:  PUSH DS ; segmento del PSP  XOR AX,AX ; AX = 0  PUSH AX ; desplazamiento 0 al PSP  ; direccionar segmento de datos con DS  MOV AX,datos ; AX = dirección del segmento de datos  MOV DS,AX ; inicializar DS  ; escribir texto  LEA DX,texto ; DS:DX = dirección del texto  MOV AH,9  INT 21h  ; volver al DOS  RET ; en realidad, RETF (PROC FAR)  ejemplo ENDP  codigo ENDS ; fin del código  END ejemplo ; punto de arranque del programa
  • 27. EVOLUCIÓN DE WINDOWS  1975-1981: El surgimiento de MS-DOS.  1982-1985: Presentamos Windows 1.0.  1987–1990: Windows 2.0–2.11: más ventanas, mayor velocidad.  1990–1994: Windows 3.0–Windows NT: se obtienen los gráficos.  1995–1998: Windows 95: el equipo se hace mayor (y no olvides Internet).  1998–2000: Windows 98, Windows 2000, Windows Me— Windows evoluciona para trabajar y jugar.  2001–2005: Windows XP: estable, utilizable y rápido.  2006–2008: Windows Vista: seguridad inteligente.  2009: Windows 7 presenta Windows Touch.  2012: Windows 8 presenta aplicaciones y mosaicos.  2013: Windows 8.1 amplía la visión de Windows 8.  2015: Windows 10.
  • 28. CONCLUSIÓN  NOS DAMOS CUENTA QUE EL LENGUAJE ENSAMBLADOR SIRVE PARA COMUNICARNOS CON LA MAQUINA ESTO NOS AYUDA EN PROGRAMACIÓN EN DONDE LA MAYORÍA DE LAS COSAS LO ASEMOS CON COMANDO QUE LA MAQUINA ENTIENDE TODO LO QUE CONOCEMOS A NIVEL TECNOLOGÍA ESTA VASADO A LENGUAJE MAQUINA
  • 29. BIBLIOGRAFÍA  http://gente-itsm.blogspot.mx/2011/09/unidad-1-fundamentos.html  http://atc2.aut.uah.es/~avicente/asignaturas/leoc/pdf/t1_fundam entosdelensamblador.pdf  https://chematec.wordpress.com/2010/09/09/unidad-i- fundamentos-del-lenguaje-ensamblador/  http://www.ittux.edu.mx/sites/default/files/MICROCOMPUTADORAS _AL_DETALLE.pdf  https://es.wikipedia.org/wiki/Interrupci%C3%B3n  http://bbeltran.cs.buap.mx/Interrupciones.pdf