SlideShare una empresa de Scribd logo
1 de 24
Elaboro: Efraín Ruiz Fernández
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.
Fundamentos del lenguaje
ensamblador:
El uso del lenguaje ensamblador le permite al programador indicarle
al computador exactamente cómo llevar a cabo una tarea específica usando la
menor cantidad de instrucciones. Aún cuando el código generado por los
compiladores con opción de optimización es eficiente, la optimización manual
puede resultar en una mejora sustancial en términos de rendimiento y
consumo de memoria. El lenguaje ensamblador es usualmente utilizado en las
siguientes circunstancias:
Mejorar la eficiencia de una rutina específica que se ha transformado
en un cuello de botella
Obtener acceso a funciones de bajo nivel del procesador para realizar
tareas que no son soportadas por los lenguajes de alto nivel
Escribir manejadores de dispositivos para comunicarse directamente
con hardware especial tales como tarjetas de red
Trabajar en ambientes con recursos limitados puede requerir el uso
del lenguaje ensamblador pues el código ejecutable puede ser menor que el
generado por el compilador
Los lenguajes ensamblador tienen sus aplicaciones muy reducidas,
se centran básicamente en aplicaciones de tiempo real, control de procesos y
de dispositivos electrónicos.
El microprocesador:
El Microprocesador es un circuito integrado que
contiene algunos o todos los elementos hardware, y el 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. Un
núcleo suele referirse a una porción del procesador que
realiza todas las actividades de una CPU real.
Un microprocesador escalar solamente puede
manejar una instrucción que a su vez maneja solo un
objeto de datos ala vez.
Un microprocesador super escalar puede
procesar también solo un objeto de datos por instrucción,
pero puede paralelizar este proceso por su diseño,
ejecutando varias instrucciones a la vez.
Que son interrupciones:
Definición: Una interrupción es el rompimiento en la secuencia
de un programa para ejecutar un programa especial llamando una
rutina deservicio cuya característica principal es que al finalizar regresa
al punto donde se interrumpió el programa.
Dentro de una computadora existen dos clases de interrupciones:
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 su característica
principal es que no son programadas, esto es, pueden ocurrir en
cualquier momento en el programa. Existen dos clases de
interrupciones de este tipo:
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.
Interrupciones de 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.
Interrupciones de 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.
Estructura de un programa en el
lenguaje 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.
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 código 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.
Entorno de programacion:
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,9INT 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
EVOLUCION DE
WINDOWS:
1982–1985: Nace Windows 1.0
Microsoft anunció su Nuevo proyecto en 1983,
aunque les tomó dos años lanzar su versión final.
Primero llevó el nombre Interface Manager, pero
poco a poco la otra propuesta, Windows se quedó
como el nombre definitivo. Este surgió durante el
desarrollo de “cajas” o “ventanas” de navegación
fundamentales en la plataforma.
El 20 de Noviembre los usuarios recibieron un
sistema que funcionaba, ya no con códigos si no con
un mouse que cruzaba la pantalla. “Es un software
único diseñado para el usuario serio de PC” dijo Bill
Gates a la prensa. Aparecieron por primera vez
herramientas que son ya de todos los días: menús en
cascada, barras de navegación, íconos y cajas de
diálogo. Fue posible por primera vez también abrir
varios programas sin tener que cerrar el anterior. Los
programas que incluyó Windows 1.0 fueron Paint,
Windows Writer, Notepad, Calculator, un
calendario, un reloj y un juego: Reversi.
Un año después, Microsoft lanzó una actualización
de Windows 1.0 y le agregó un tres: Windows
1.03. El cambio más importante fue el incremento en
el espacio del disco duro, de 1Mb a 2.2 Mb.
Windows 2.03
En 1987 Microsoft present su Windows 2.0 a
tiempo para navidad: el 9 de Diciembre. El soporte de
gráficos mejorado permitió encimar ventanas, controlar
la imagen de pantalla y el uso de atajos con el tablero.
También hizo su aparición estelar el Panel de Control.
Esta fue la primera vez que desarrolladores
externos crearon los primeros programas para el sistema
de Microsoft. Windows corría con el procesador 286 de
Intel. Poco después este último actualizó a 386 y
Windows lo siguió con su Windows/386 que aprovechó
las mejoras en usabilidad y velocidad.
Un año más tarde Microsoft se convirtió en la
compañía número uno en ventas en materia de software.
Windows 3.0
Llegó el primero año de la década de los 90, seguido dos años después
por Windows 3.1. Juntos alcanzaron ventas por 10 millones de copias, lo cual lo
convirtió en el sistema Windows más popular de todos los tiempos (hasta
nuestros días).
Los gráficos del sistema tenían la novedad de 16 colores, los íconos
mejoraron y aparecieron por primera vez las herramientas Program Manager, File
Manager y Print Manager. Para instalarlo era necesario el uso de diskettes (floppy
disks) acompañados de complicados y pesados instructivos. Más programas
aparecieron en el panorama para incluir en Windows 3.0, entre ellos más juegos.
Solitario llegó a miles de hogares por primera vez, al igual que Minesweeper y
Hearts.
En 1993 apareció Windows NT 3.1 con un sistema operativo de 32 bits. El
mismo año apareció 3.11 con el agregado de grupos de trabajo y soporte para redes.
Por primera vez, las computadoras con Windows podían conectarse entre sí.
En 1995, la última versión de Windows 3.0, 3.51 WorkStation salió a la
luz. Esta contaba con mayor soporte de gráficos, y aplicaciones para desarrollo de
software, análisis financiero, investigación científica y tareas empresariales.
Windows 95
En agosto 24, Microsoft lanzó su Windows 95, el software que rompió
todos los records hasta el momento con siete millones de copias vendidas
en tan solo cinco semanas. La campaña publicitaria anunciaba “It’s here”
(está aquí) y fue acompañada del hit de los Rolling Stones “Start me Up”
para anunciar su nuevo botón “Start.”
La mitad de la década fue la era de los fax/módems, el correo
electrónico, el descubrimiento de Internet, los nuevos juegos multimedia y
el génesis del software educativo. Para acoplarse a los nuevos tiempos, la
nueva versión de Windows (nombrada Chicago durante su desarrollo)
contaba con soporte para Internet por marcación, capacidades
multimedia, redes integradas y más herramientas para la computación
móvil. Al momento de su lanzamiento (un 24 de agosto como hoy), el 80%
de las computadoras del mundo corrían con MS-DOS o con versiones
previas de Windows.
La versión 95 se convirtió en la sustituta de todos ellos. Para su
funcionamiento requería una PC con procesador 386XD o más alto (486 de
preferencia) y al menos 4 MB de RAM. La instalación con diskettes dejó de
ser forzosa gracias al moderno CD ROM. Además Windows 95 era el
sistema operativo más inclusivo; disponible en 12 idiomas distintos. Un año
más tarde, la versión Windows NT 4.0 brindó soporte mejorado y más
seguro a Internet y a intranets corporativas.
 Windows 98
El 25 de Junio de 1998 apareció la nueva versión de Windows, diseñada
especialmente para consumidores. Los cambios principales incluyeron lectura de discos
DVS y USBs además de la Quick Launch Bar para abrir programas con mayor facilidad.
Windows 98 fue el último sistema operativo basado en MS-DOS.
 Windows 2000
El nuevo milenio trajo consigo al Professional de Windows, diseñado para
sustituir a Windows 95, 98 y NT Workstation 4.0 para uso individual en casa y en negocios.
Facilitó la instalación de hardware con soporte añadido a una variedad amplia de hardware
Plug and Play incluyendo productos inalámbricos, dispositivos USB, IEEE 1394 e
infrarrojos.
 Windows Me 2000
Apareció poco después. Estaba diseñado para el uso en casa e incluía la novedosa
configuración System Restore que permitía devolver al software a su estado previo a la
aparición de un problema. También incluyó Windows Media Player 7 para reproducir
distintos formatos.
 Windows XP
El 25 de octubre de 2001, Microsoft lanzó una nueva actualización: XP. Sus
mayores atractivos eran su nuevo aspecto y una nuevo centro de atención y ayuda. Estaba
disponible en 25 idiomas. XP permaneció durante un tiempo prolongado como el software
principal de Microsoft. Representó también un cambio en el usuario, que estaba más
consciente del problema el malware. XP era más seguro y educativo a ese respecto.
Poco tiempo después apareció una versión mejorada: Windows XP Professional.
Curiosidad: El comercial fue musicalizado por el hit de Madonna, Ray of Light. El escritorio
incluyó como imagen por default una fotografía que ahora es la más vista de la historia.
 Windows Vista
Cinco años después, llego Windows Vista. El sistema
operativo de 2006 tenía el sistema de seguridad más fuerte
hasta el momento en la historia de la compañía. User
Account Control permitía prevenir la instalación de malware
y Ultimate Bit Locker protegía la información de los usuarios
aún más, debido a la popularidad de las lap tops y por ende el
intercambio de información. Otro gran cambio vino de la
mano de Windows Media Player, desde el cual se pueden
reproducir todo tipo de formatos, ver televisión y editar
video.
 Windows 7 2009-2011
Windows 7 llegó en octubre de 2009 y sigue vigente en
muchos equipos (en 2010 vendía siete copias al segundo) y se
convirtió en su momento en el sistema operativo con mayor
rapidez de venta en la historia.
*Actualización 4.04.13'
 Windows 8
Lanzado en Octubre de 2012. Da clic aquí para leer
nuestra nutrida reseña.
También lanzó su nuevo SO para móviles
Windows Phone 8.
 Windows 8.1
La actualización de Windows 8 tiene el "nombre
código" de Windows Blue, pero todo parece indicar que
se llamará Windows 8.1. Aunque aún no se sabe a ciencia
cierta qué comprenderán las novedades del sistema, los
ejecutivos han aclarado que no se trata de un nuevo SO,
pues quieren que "haya Windows 8 para rato." El
próximo mes de Junio, Microsoft dará un primer vistazo
a 8.1.

Más contenido relacionado

La actualidad más candente

Un sistema operativo caraballo1
Un sistema operativo caraballo1Un sistema operativo caraballo1
Un sistema operativo caraballo1uplo45
 
Un sistema operativo caraballo luis
Un sistema operativo caraballo luisUn sistema operativo caraballo luis
Un sistema operativo caraballo luisuplo45
 
Un sistema operativo caraballo
Un sistema operativo caraballoUn sistema operativo caraballo
Un sistema operativo caraballouplo45
 
Un sistema operativo caraballo luis
Un sistema operativo caraballo luisUn sistema operativo caraballo luis
Un sistema operativo caraballo luisuplo45
 
Un sistema operativo luis
Un sistema operativo luisUn sistema operativo luis
Un sistema operativo luisuplo45
 
Un sistema operativo caraballo1assss
Un sistema operativo caraballo1assssUn sistema operativo caraballo1assss
Un sistema operativo caraballo1assssuplo45
 
Un sistema operativo caraballo luis
Un sistema operativo caraballo luisUn sistema operativo caraballo luis
Un sistema operativo caraballo luisuplo45
 
Un sistema operativo caraballo
Un sistema operativo caraballoUn sistema operativo caraballo
Un sistema operativo caraballoMIGUELITO-1
 
Interrupciones de la bios
Interrupciones de la biosInterrupciones de la bios
Interrupciones de la biosCésar Salazar
 
Trabajo sistemas ... sistemas operativos
Trabajo sistemas   ... sistemas operativosTrabajo sistemas   ... sistemas operativos
Trabajo sistemas ... sistemas operativosbrandonxx
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosrIsAdA
 

La actualidad más candente (16)

Un sistema operativo caraballo1
Un sistema operativo caraballo1Un sistema operativo caraballo1
Un sistema operativo caraballo1
 
Un sistema operativo caraballo luis
Un sistema operativo caraballo luisUn sistema operativo caraballo luis
Un sistema operativo caraballo luis
 
Un sistema operativo caraballo
Un sistema operativo caraballoUn sistema operativo caraballo
Un sistema operativo caraballo
 
Un sistema operativo caraballo luis
Un sistema operativo caraballo luisUn sistema operativo caraballo luis
Un sistema operativo caraballo luis
 
Un sistema operativo luis
Un sistema operativo luisUn sistema operativo luis
Un sistema operativo luis
 
Un sistema operativo caraballo1assss
Un sistema operativo caraballo1assssUn sistema operativo caraballo1assss
Un sistema operativo caraballo1assss
 
Un sistema operativo caraballo luis
Un sistema operativo caraballo luisUn sistema operativo caraballo luis
Un sistema operativo caraballo luis
 
Un sistema operativo caraballo
Un sistema operativo caraballoUn sistema operativo caraballo
Un sistema operativo caraballo
 
Un sistema operativo luis caraballo
Un sistema operativo luis caraballoUn sistema operativo luis caraballo
Un sistema operativo luis caraballo
 
Interrupciones de la bios
Interrupciones de la biosInterrupciones de la bios
Interrupciones de la bios
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Trabajo sistemas ... sistemas operativos
Trabajo sistemas   ... sistemas operativosTrabajo sistemas   ... sistemas operativos
Trabajo sistemas ... sistemas operativos
 
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHOPRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Diccionario de informatica
Diccionario de informaticaDiccionario de informatica
Diccionario de informatica
 

Destacado

Informatica jurídica y derecho
Informatica jurídica y derechoInformatica jurídica y derecho
Informatica jurídica y derechoMadeleyneconrado
 
T. EndosimbióTica, NúCleo Celular Y DivisióN Celular 2º Bto
T. EndosimbióTica, NúCleo Celular Y DivisióN Celular 2º BtoT. EndosimbióTica, NúCleo Celular Y DivisióN Celular 2º Bto
T. EndosimbióTica, NúCleo Celular Y DivisióN Celular 2º Btojspiriz
 
El lenguaje jurídico del siglo xxi
El lenguaje jurídico del siglo xxiEl lenguaje jurídico del siglo xxi
El lenguaje jurídico del siglo xxiWilfredo_Busto
 
ENJ-1-200 Fuentes Del Ordenamiento Juridico
ENJ-1-200 Fuentes Del Ordenamiento JuridicoENJ-1-200 Fuentes Del Ordenamiento Juridico
ENJ-1-200 Fuentes Del Ordenamiento JuridicoENJ
 
La InformáTica JuríDica Metadocumental
La InformáTica JuríDica MetadocumentalLa InformáTica JuríDica Metadocumental
La InformáTica JuríDica Metadocumentalgissel
 
La Particula Se Power Point
La Particula Se Power PointLa Particula Se Power Point
La Particula Se Power PointProfeticc
 
El lenguaje jurídico
El lenguaje jurídicoEl lenguaje jurídico
El lenguaje jurídicoAlvaro Mejia
 
Caracteristicas del lenguaje juridico
Caracteristicas del lenguaje juridicoCaracteristicas del lenguaje juridico
Caracteristicas del lenguaje juridicomersy torres
 
Redaccion juridica - Lenguaje Juridico
Redaccion juridica - Lenguaje JuridicoRedaccion juridica - Lenguaje Juridico
Redaccion juridica - Lenguaje JuridicoNatali Borges
 
Temas tecnica juridica
Temas tecnica juridicaTemas tecnica juridica
Temas tecnica juridicamurillonet
 
Diapositivas curso acto juridico para blog
Diapositivas curso acto juridico para blogDiapositivas curso acto juridico para blog
Diapositivas curso acto juridico para blogedgardoquispe
 
Hechos y actos jurídicos
Hechos y actos jurídicosHechos y actos jurídicos
Hechos y actos jurídicosZuhee
 
Actos juridicos elementos_y_clasificacion_karla_estefania_castillo_flores
Actos juridicos elementos_y_clasificacion_karla_estefania_castillo_floresActos juridicos elementos_y_clasificacion_karla_estefania_castillo_flores
Actos juridicos elementos_y_clasificacion_karla_estefania_castillo_floresDocumentos para subir a blog
 
Iusnaturalismo y positivismo_jurídico
Iusnaturalismo y positivismo_jurídicoIusnaturalismo y positivismo_jurídico
Iusnaturalismo y positivismo_jurídicoUTA
 

Destacado (20)

CINE-FCA
CINE-FCACINE-FCA
CINE-FCA
 
Informatica jurídica y derecho
Informatica jurídica y derechoInformatica jurídica y derecho
Informatica jurídica y derecho
 
T. EndosimbióTica, NúCleo Celular Y DivisióN Celular 2º Bto
T. EndosimbióTica, NúCleo Celular Y DivisióN Celular 2º BtoT. EndosimbióTica, NúCleo Celular Y DivisióN Celular 2º Bto
T. EndosimbióTica, NúCleo Celular Y DivisióN Celular 2º Bto
 
El lenguaje jurídico del siglo xxi
El lenguaje jurídico del siglo xxiEl lenguaje jurídico del siglo xxi
El lenguaje jurídico del siglo xxi
 
ENJ-1-200 Fuentes Del Ordenamiento Juridico
ENJ-1-200 Fuentes Del Ordenamiento JuridicoENJ-1-200 Fuentes Del Ordenamiento Juridico
ENJ-1-200 Fuentes Del Ordenamiento Juridico
 
La InformáTica JuríDica Metadocumental
La InformáTica JuríDica MetadocumentalLa InformáTica JuríDica Metadocumental
La InformáTica JuríDica Metadocumental
 
El Lenguaje Jurídico
El Lenguaje JurídicoEl Lenguaje Jurídico
El Lenguaje Jurídico
 
+consultoria juridica
+consultoria juridica+consultoria juridica
+consultoria juridica
 
Esquemas
EsquemasEsquemas
Esquemas
 
La Particula Se Power Point
La Particula Se Power PointLa Particula Se Power Point
La Particula Se Power Point
 
El lenguaje jurídico
El lenguaje jurídicoEl lenguaje jurídico
El lenguaje jurídico
 
Caracteristicas del lenguaje juridico
Caracteristicas del lenguaje juridicoCaracteristicas del lenguaje juridico
Caracteristicas del lenguaje juridico
 
Redaccion juridica - Lenguaje Juridico
Redaccion juridica - Lenguaje JuridicoRedaccion juridica - Lenguaje Juridico
Redaccion juridica - Lenguaje Juridico
 
Temas tecnica juridica
Temas tecnica juridicaTemas tecnica juridica
Temas tecnica juridica
 
Tecnicas juridicas
Tecnicas juridicasTecnicas juridicas
Tecnicas juridicas
 
Semiótica Antecedentes y Definiciones
Semiótica   Antecedentes y DefinicionesSemiótica   Antecedentes y Definiciones
Semiótica Antecedentes y Definiciones
 
Diapositivas curso acto juridico para blog
Diapositivas curso acto juridico para blogDiapositivas curso acto juridico para blog
Diapositivas curso acto juridico para blog
 
Hechos y actos jurídicos
Hechos y actos jurídicosHechos y actos jurídicos
Hechos y actos jurídicos
 
Actos juridicos elementos_y_clasificacion_karla_estefania_castillo_flores
Actos juridicos elementos_y_clasificacion_karla_estefania_castillo_floresActos juridicos elementos_y_clasificacion_karla_estefania_castillo_flores
Actos juridicos elementos_y_clasificacion_karla_estefania_castillo_flores
 
Iusnaturalismo y positivismo_jurídico
Iusnaturalismo y positivismo_jurídicoIusnaturalismo y positivismo_jurídico
Iusnaturalismo y positivismo_jurídico
 

Similar a efrain ruiz fernandez lenjuaje

Lenguaje Ensamblador
Lenguaje Ensamblador Lenguaje Ensamblador
Lenguaje Ensamblador irana piñero
 
Trabajo Martha Velasco Sistema Operativo
Trabajo Martha Velasco Sistema OperativoTrabajo Martha Velasco Sistema Operativo
Trabajo Martha Velasco Sistema OperativoMACECIVE
 
Sistema operativo1
Sistema operativo1Sistema operativo1
Sistema operativo1goldenay
 
Adriana rivera sistema operativo
Adriana rivera sistema operativoAdriana rivera sistema operativo
Adriana rivera sistema operativomamasita123
 
Trabajo sis
Trabajo sisTrabajo sis
Trabajo sisYOKIIZ
 
Un sistema operativo caraballo
Un sistema operativo caraballoUn sistema operativo caraballo
Un sistema operativo caraballouplo45
 
Un sistema operativo caraballo1assss
Un sistema operativo caraballo1assssUn sistema operativo caraballo1assss
Un sistema operativo caraballo1assssJavier Sabogal Campos
 
Un sistema operativo caraballo
Un sistema operativo caraballoUn sistema operativo caraballo
Un sistema operativo caraballouplo45
 
Sistemas operativo vanessa
Sistemas operativo vanessaSistemas operativo vanessa
Sistemas operativo vanessareggaemufin
 
Trabajo sistemas terminado
Trabajo sistemas terminadoTrabajo sistemas terminado
Trabajo sistemas terminadokatalina001
 
Trabajo sistemas terminado
Trabajo sistemas terminadoTrabajo sistemas terminado
Trabajo sistemas terminadokatalina001
 
Sistema operativo1
Sistema operativo1Sistema operativo1
Sistema operativo1goldenay
 
Sistema operativo1
Sistema operativo1Sistema operativo1
Sistema operativo1goldenay
 
Trabajo de sistemas
Trabajo de sistemasTrabajo de sistemas
Trabajo de sistemasoscar120
 

Similar a efrain ruiz fernandez lenjuaje (20)

Lenguaje Ensamblador
Lenguaje Ensamblador Lenguaje Ensamblador
Lenguaje Ensamblador
 
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADORFUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
 
Trabajo Martha Velasco Sistema Operativo
Trabajo Martha Velasco Sistema OperativoTrabajo Martha Velasco Sistema Operativo
Trabajo Martha Velasco Sistema Operativo
 
Sistema operativo1
Sistema operativo1Sistema operativo1
Sistema operativo1
 
Adriana rivera sistema operativo
Adriana rivera sistema operativoAdriana rivera sistema operativo
Adriana rivera sistema operativo
 
Trabajo sis
Trabajo sisTrabajo sis
Trabajo sis
 
Un sistema operativo caraballo
Un sistema operativo caraballoUn sistema operativo caraballo
Un sistema operativo caraballo
 
Un sistema operativo caraballo1assss
Un sistema operativo caraballo1assssUn sistema operativo caraballo1assss
Un sistema operativo caraballo1assss
 
Un sistema operativo caraballo
Un sistema operativo caraballoUn sistema operativo caraballo
Un sistema operativo caraballo
 
Sistemas operativo vanessa
Sistemas operativo vanessaSistemas operativo vanessa
Sistemas operativo vanessa
 
Sistemas operativo
Sistemas operativoSistemas operativo
Sistemas operativo
 
Sistemas 2
Sistemas 2Sistemas 2
Sistemas 2
 
Un sistema operativo
Un sistema operativoUn sistema operativo
Un sistema operativo
 
Un sistema operativo
Un sistema operativoUn sistema operativo
Un sistema operativo
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Trabajo sistemas terminado
Trabajo sistemas terminadoTrabajo sistemas terminado
Trabajo sistemas terminado
 
Trabajo sistemas terminado
Trabajo sistemas terminadoTrabajo sistemas terminado
Trabajo sistemas terminado
 
Sistema operativo1
Sistema operativo1Sistema operativo1
Sistema operativo1
 
Sistema operativo1
Sistema operativo1Sistema operativo1
Sistema operativo1
 
Trabajo de sistemas
Trabajo de sistemasTrabajo de sistemas
Trabajo de sistemas
 

Último

la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 

Último (20)

la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 

efrain ruiz fernandez lenjuaje

  • 2. 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.
  • 3. Fundamentos del lenguaje ensamblador: El uso del lenguaje ensamblador le permite al programador indicarle al computador exactamente cómo llevar a cabo una tarea específica usando la menor cantidad de instrucciones. Aún cuando el código generado por los compiladores con opción de optimización es eficiente, la optimización manual puede resultar en una mejora sustancial en términos de rendimiento y consumo de memoria. El lenguaje ensamblador es usualmente utilizado en las siguientes circunstancias: Mejorar la eficiencia de una rutina específica que se ha transformado en un cuello de botella Obtener acceso a funciones de bajo nivel del procesador para realizar tareas que no son soportadas por los lenguajes de alto nivel Escribir manejadores de dispositivos para comunicarse directamente con hardware especial tales como tarjetas de red Trabajar en ambientes con recursos limitados puede requerir el uso del lenguaje ensamblador pues el código ejecutable puede ser menor que el generado por el compilador Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran básicamente en aplicaciones de tiempo real, control de procesos y de dispositivos electrónicos.
  • 4. El microprocesador: El Microprocesador es un circuito integrado que contiene algunos o todos los elementos hardware, y el 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. Un núcleo suele referirse a una porción del procesador que realiza todas las actividades de una CPU real. Un microprocesador escalar solamente puede manejar una instrucción que a su vez maneja solo un objeto de datos ala vez. Un microprocesador super escalar puede procesar también solo un objeto de datos por instrucción, pero puede paralelizar este proceso por su diseño, ejecutando varias instrucciones a la vez.
  • 5. Que son interrupciones: Definición: Una interrupción es el rompimiento en la secuencia de un programa para ejecutar un programa especial llamando una rutina deservicio cuya característica principal es que al finalizar regresa al punto donde se interrumpió el programa. Dentro de una computadora existen dos clases de interrupciones: 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 su característica principal es que no son programadas, esto es, pueden ocurrir en cualquier momento en el programa. Existen dos clases de interrupciones de este tipo: 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.
  • 6. Interrupciones de 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.
  • 7. Interrupciones de 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.
  • 8. 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).
  • 9. 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.
  • 10. Estructura de un programa en el lenguaje 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.
  • 11. 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.
  • 12. 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.
  • 13. 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 código 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.
  • 14. Entorno de programacion: 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:
  • 15. 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.
  • 16. 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
  • 17. 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,9INT 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
  • 18. EVOLUCION DE WINDOWS: 1982–1985: Nace Windows 1.0 Microsoft anunció su Nuevo proyecto en 1983, aunque les tomó dos años lanzar su versión final. Primero llevó el nombre Interface Manager, pero poco a poco la otra propuesta, Windows se quedó como el nombre definitivo. Este surgió durante el desarrollo de “cajas” o “ventanas” de navegación fundamentales en la plataforma. El 20 de Noviembre los usuarios recibieron un sistema que funcionaba, ya no con códigos si no con un mouse que cruzaba la pantalla. “Es un software único diseñado para el usuario serio de PC” dijo Bill Gates a la prensa. Aparecieron por primera vez herramientas que son ya de todos los días: menús en cascada, barras de navegación, íconos y cajas de diálogo. Fue posible por primera vez también abrir varios programas sin tener que cerrar el anterior. Los programas que incluyó Windows 1.0 fueron Paint, Windows Writer, Notepad, Calculator, un calendario, un reloj y un juego: Reversi. Un año después, Microsoft lanzó una actualización de Windows 1.0 y le agregó un tres: Windows 1.03. El cambio más importante fue el incremento en el espacio del disco duro, de 1Mb a 2.2 Mb.
  • 19. Windows 2.03 En 1987 Microsoft present su Windows 2.0 a tiempo para navidad: el 9 de Diciembre. El soporte de gráficos mejorado permitió encimar ventanas, controlar la imagen de pantalla y el uso de atajos con el tablero. También hizo su aparición estelar el Panel de Control. Esta fue la primera vez que desarrolladores externos crearon los primeros programas para el sistema de Microsoft. Windows corría con el procesador 286 de Intel. Poco después este último actualizó a 386 y Windows lo siguió con su Windows/386 que aprovechó las mejoras en usabilidad y velocidad. Un año más tarde Microsoft se convirtió en la compañía número uno en ventas en materia de software.
  • 20. Windows 3.0 Llegó el primero año de la década de los 90, seguido dos años después por Windows 3.1. Juntos alcanzaron ventas por 10 millones de copias, lo cual lo convirtió en el sistema Windows más popular de todos los tiempos (hasta nuestros días). Los gráficos del sistema tenían la novedad de 16 colores, los íconos mejoraron y aparecieron por primera vez las herramientas Program Manager, File Manager y Print Manager. Para instalarlo era necesario el uso de diskettes (floppy disks) acompañados de complicados y pesados instructivos. Más programas aparecieron en el panorama para incluir en Windows 3.0, entre ellos más juegos. Solitario llegó a miles de hogares por primera vez, al igual que Minesweeper y Hearts. En 1993 apareció Windows NT 3.1 con un sistema operativo de 32 bits. El mismo año apareció 3.11 con el agregado de grupos de trabajo y soporte para redes. Por primera vez, las computadoras con Windows podían conectarse entre sí. En 1995, la última versión de Windows 3.0, 3.51 WorkStation salió a la luz. Esta contaba con mayor soporte de gráficos, y aplicaciones para desarrollo de software, análisis financiero, investigación científica y tareas empresariales.
  • 21. Windows 95 En agosto 24, Microsoft lanzó su Windows 95, el software que rompió todos los records hasta el momento con siete millones de copias vendidas en tan solo cinco semanas. La campaña publicitaria anunciaba “It’s here” (está aquí) y fue acompañada del hit de los Rolling Stones “Start me Up” para anunciar su nuevo botón “Start.” La mitad de la década fue la era de los fax/módems, el correo electrónico, el descubrimiento de Internet, los nuevos juegos multimedia y el génesis del software educativo. Para acoplarse a los nuevos tiempos, la nueva versión de Windows (nombrada Chicago durante su desarrollo) contaba con soporte para Internet por marcación, capacidades multimedia, redes integradas y más herramientas para la computación móvil. Al momento de su lanzamiento (un 24 de agosto como hoy), el 80% de las computadoras del mundo corrían con MS-DOS o con versiones previas de Windows. La versión 95 se convirtió en la sustituta de todos ellos. Para su funcionamiento requería una PC con procesador 386XD o más alto (486 de preferencia) y al menos 4 MB de RAM. La instalación con diskettes dejó de ser forzosa gracias al moderno CD ROM. Además Windows 95 era el sistema operativo más inclusivo; disponible en 12 idiomas distintos. Un año más tarde, la versión Windows NT 4.0 brindó soporte mejorado y más seguro a Internet y a intranets corporativas.
  • 22.  Windows 98 El 25 de Junio de 1998 apareció la nueva versión de Windows, diseñada especialmente para consumidores. Los cambios principales incluyeron lectura de discos DVS y USBs además de la Quick Launch Bar para abrir programas con mayor facilidad. Windows 98 fue el último sistema operativo basado en MS-DOS.  Windows 2000 El nuevo milenio trajo consigo al Professional de Windows, diseñado para sustituir a Windows 95, 98 y NT Workstation 4.0 para uso individual en casa y en negocios. Facilitó la instalación de hardware con soporte añadido a una variedad amplia de hardware Plug and Play incluyendo productos inalámbricos, dispositivos USB, IEEE 1394 e infrarrojos.  Windows Me 2000 Apareció poco después. Estaba diseñado para el uso en casa e incluía la novedosa configuración System Restore que permitía devolver al software a su estado previo a la aparición de un problema. También incluyó Windows Media Player 7 para reproducir distintos formatos.  Windows XP El 25 de octubre de 2001, Microsoft lanzó una nueva actualización: XP. Sus mayores atractivos eran su nuevo aspecto y una nuevo centro de atención y ayuda. Estaba disponible en 25 idiomas. XP permaneció durante un tiempo prolongado como el software principal de Microsoft. Representó también un cambio en el usuario, que estaba más consciente del problema el malware. XP era más seguro y educativo a ese respecto. Poco tiempo después apareció una versión mejorada: Windows XP Professional. Curiosidad: El comercial fue musicalizado por el hit de Madonna, Ray of Light. El escritorio incluyó como imagen por default una fotografía que ahora es la más vista de la historia.
  • 23.  Windows Vista Cinco años después, llego Windows Vista. El sistema operativo de 2006 tenía el sistema de seguridad más fuerte hasta el momento en la historia de la compañía. User Account Control permitía prevenir la instalación de malware y Ultimate Bit Locker protegía la información de los usuarios aún más, debido a la popularidad de las lap tops y por ende el intercambio de información. Otro gran cambio vino de la mano de Windows Media Player, desde el cual se pueden reproducir todo tipo de formatos, ver televisión y editar video.  Windows 7 2009-2011 Windows 7 llegó en octubre de 2009 y sigue vigente en muchos equipos (en 2010 vendía siete copias al segundo) y se convirtió en su momento en el sistema operativo con mayor rapidez de venta en la historia. *Actualización 4.04.13'
  • 24.  Windows 8 Lanzado en Octubre de 2012. Da clic aquí para leer nuestra nutrida reseña. También lanzó su nuevo SO para móviles Windows Phone 8.  Windows 8.1 La actualización de Windows 8 tiene el "nombre código" de Windows Blue, pero todo parece indicar que se llamará Windows 8.1. Aunque aún no se sabe a ciencia cierta qué comprenderán las novedades del sistema, los ejecutivos han aclarado que no se trata de un nuevo SO, pues quieren que "haya Windows 8 para rato." El próximo mes de Junio, Microsoft dará un primer vistazo a 8.1.