Programas de ordenador (software)
|
|
- Susana Córdoba Morales
- hace 7 años
- Vistas:
Transcripción
1 Programas de ordenador (software) Jorge Juan Chico Julián Viejo Cortés 2011, 2014, 2015 Departamento de Tecnología Electrónica Universidad de Sevilla Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas siempre que se cite la fuente y se respeten las condiciones de la licencia Attribution-Share alike de Creative Commons. Puede consultar el texto completo de la licencia en
2 Objetivos Conocer el tipo de instrucciones que ejecuta la CPU de un ordenador Comprender los procesos de compilación y ensamblado de los programas de ordenador Conocer la forma en que se organiza el software para crear programas complejos 2
3 Contenidos Lenguaje máquina y ensamblador Compiladores Jerarquía del software 3
4 Lenguaje máquina y ensamblador Lenguaje (código) máquina: código binario de las instrucciones que ejecuta la CPU Lenguaje ensamblador: representación del lenguaje máquina mediante palabras clave fáciles de entender para el programador Ensamblador mov eax, 4 mov ebx, 0 mov ecx, x top: add ebx, [ecx] add ecx, 4 dec eax jnz top done: mov [sum], ebx Código máquina b0 b804 b5 bb ba b9d060 bf c2 83c104 c5 ffc8 c7 75f6 c9 891c25e060 4
5 Lenguaje ensamblador Ejemplo ; ejemplo introductorio; suma los números de de una lista SECTION.data ; comienzo del segmento de de datos global x x: x: dd dd 1 dd dd 5 dd dd 2 dd dd sum: dd dd 0 SECTION.text ; comienzo del segmento de de código mov eax, 4 ; EAX servirá de de contador para el el ; número de de datos que quedan por por sumar mov ebx, 0 ; EBX almacenará la la suma mov ecx, x ; ECX apunta al al siguiente elemento ; a sumar top: add ebx, [ecx] add ecx, 4 ; mueve el el puntero al al siguiente elemento dec eax ; decrementa el el contador jnz top ; si si el el contador no no es es 0, 0, repetir done: mov [sum], ebx ; hecho, almacena el el resultado en en [sum] 5
6 Compiladores suma2.c #include <stdio.h> int int main(void) int int x[] x[] = 1, 1, 5, 5, 2, 2, 18; 18; int int cont cont = 4; 4; int int sum sum = 0; 0; int int i = 0; 0; while while (cont (cont > 0) 0) sum sum = sum sum + x[i]; x[i]; i++; i++; cont--; printf("sum = %d\n", sum); sum); Compilador suma2.o 0: 0: 8d 8d 4c 4c lea lea ecx,[esp+4] ecx,[esp+4] 4: 4: e4 e4 f0 f0 and and esp,0xfffffff0 esp,0xfffffff0 7: 7: ff ff fc fc push push DWORD DWORD PTR PTR [ecx-4] [ecx-4] a: a: push push ebp ebp b: b: e5 e5 mov mov ebp,esp ebp,esp d: d: push push ecx ecx e: e: ec ec sub sub esp,0x34 esp,0x34 11: 11: c7 c e0 e mov mov DWORD DWORD PTR PTR [ebp-32],0x1 [ebp-32],0x1 18: 18: c7 c e4 e mov mov DWORD DWORD PTR PTR [ebp-28],0x5 [ebp-28],0x5 1f: 1f: c7 c e8 e mov mov DWORD DWORD PTR PTR [ebp-24],0x2 [ebp-24],0x2 26: 26: c7 c ec ec mov mov DWORD DWORD PTR PTR [ebp-20],0x12 [ebp-20],0x12 2d: 2d: c7 c f0 f mov mov DWORD DWORD PTR PTR [ebp-16],0x4 [ebp-16],0x4 34: 34: c7 c f4 f4 mov mov DWORD DWORD PTR PTR [ebp-12],0x0 [ebp-12],0x0 3b: 3b: c7 c f8 f8 mov mov DWORD DWORD PTR PTR [ebp-8],0x0 [ebp-8],0x0 42: 42: eb eb jmp jmp <main+0x54> <main+0x54> 44: 44: 8b 8b f8 f8 mov mov eax,dword eax,dword PTR PTR [ebp-8] [ebp-8] 47: 47: 8b 8b e0 e0 mov mov eax,dword eax,dword PTR PTR [ebp+eax*4-32] [ebp+eax*4-32] 4b: 4b: f4 f4 add add DWORD DWORD PTR PTR [ebp-12],eax [ebp-12],eax 4e: 4e: ff ff f8 f8 inc inc DWORD DWORD PTR PTR [ebp-8] [ebp-8] 51: 51: ff ff 4d 4d f0 f0 dec dec DWORD DWORD PTR PTR [ebp-16] [ebp-16] 54: 54: d 7d f0 f0 cmp cmp DWORD DWORD PTR PTR [ebp-16],0x0 [ebp-16],0x0 58: 58: 7f 7f ea ea jg jg <main+0x44> <main+0x44> 5a: 5a: 8b 8b f4 f4 mov mov eax,dword eax,dword PTR PTR [ebp-12] [ebp-12] 5d: 5d: mov mov DWORD DWORD PTR PTR [esp+4],eax [esp+4],eax 61: 61: c7 c mov mov DWORD DWORD PTR PTR [esp],0x0 [esp],0x0 68: 68: e8 e8 fc fc ff ff ff ff ff ff call call <main+0x69> <main+0x69> 6d: 6d: c4 c add add esp,0x34 esp,0x34 70: 70: pop pop ecx ecx 71: 71: 5d 5d pop pop ebp ebp 72: 72: 8d 8d fc fc lea lea esp,[ecx-4] esp,[ecx-4] 75: 75: c3 c3 ret ret 9
7 Compiladores. Enlazado #include #include <stdio.h> <stdio.h> int int main(void) main(void) int int x[] x[] = 1, 1, 5, 5, 2, 2, 18; 18; int int cont cont = 4; 4; int int sum sum = 0; 0; int int i = 0; 0; while while (cont (cont > 0) 0) sum sum = sum sum + x[i]; x[i]; i++; i++; cont--; cont--; printf("sum printf("sum = %d\n", %d\n", sum); sum); Interpretan un lenguaje de programación de alto nivel y generan código máquina que puede ejecutar la CPU Compilador biblioteca (printf,...) suma.o Enlazador suma 10
8 Compilación. Comparativa mov mov eax, eax, 4 mov mov ebx, ebx, 0 mov mov ecx, ecx, x top: top: add add ebx, ebx, [ecx] add add ecx, ecx, 4 dec dec eax eax jnz jnz top top done: done: mov mov [sum], ebx ebx #include #include <stdio.h> <stdio.h> int int main(void) main(void) int int x[] x[] = 1, 1, 5, 5, 2, 2, 18; 18; int int cont cont = 4; 4; int int sum sum = 0; 0; int int i = 0; 0; while while (cont (cont > 0) 0) sum sum = sum sum + x[i]; x[i]; i++; i++; cont--; cont--; printf("sum = %d\n", %d\n", sum); sum); 0: 0: 8d 8d 4c 4c lea lea ecx,[esp+4] ecx,[esp+4] 4: 4: e4 e4 f0 f0 and and esp,0xfffffff0 esp,0xfffffff0 7: 7: ff ff fc fc push push DWORD DWORD PTR PTR [ecx-4] [ecx-4] a: a: push push ebp ebp b: b: e5 e5 mov mov ebp,esp ebp,esp d: d: push push ecx ecx e: e: ec ec sub sub esp,0x34 esp,0x34 11: 11: c7 c e0 e mov mov DWORD DWORD PTR PTR [ebp-32],0x1 [ebp-32],0x1 18: 18: c7 c e4 e mov mov DWORD DWORD PTR PTR [ebp-28],0x5 [ebp-28],0x5 1f: 1f: c7 c e8 e mov mov DWORD DWORD PTR PTR [ebp-24],0x2 [ebp-24],0x2 26: 26: c7 c ec ec mov mov DWORD DWORD PTR PTR [ebp-20],0x12 [ebp-20],0x12 2d: 2d: c7 c f0 f mov mov DWORD DWORD PTR PTR [ebp-16],0x4 [ebp-16],0x4 34: 34: c7 c f4 f4 mov mov DWORD DWORD PTR PTR [ebp-12],0x0 [ebp-12],0x0 3b: 3b: c7 c f8 f8 mov mov DWORD DWORD PTR PTR [ebp-8],0x0 [ebp-8],0x0 42: 42: eb eb jmp jmp <main+0x54> <main+0x54> 44: 44: 8b 8b f8 f8 mov mov eax,dword eax,dword PTR PTR [ebp-8] [ebp-8] 47: 47: 8b 8b e0 e0 mov mov eax,dword eax,dword PTR PTR [ebp+eax*4-32] [ebp+eax*4-32] 4b: 4b: f4 f4 add add DWORD DWORD PTR PTR [ebp-12],eax [ebp-12],eax 4e: 4e: ff ff f8 f8 inc inc DWORD DWORD PTR PTR [ebp-8] [ebp-8] 51: 51: ff ff 4d 4d f0 f0 dec dec DWORD DWORD PTR PTR [ebp-16] [ebp-16] 54: 54: d 7d f0 f0 cmp cmp DWORD DWORD PTR PTR [ebp-16],0x0 [ebp-16],0x0 58: 58: 7f 7f ea ea jg jg <main+0x44> <main+0x44> 5a: 5a: 8b 8b f4 f4 mov mov eax,dword eax,dword PTR PTR [ebp-12] [ebp-12] 5d: 5d: mov mov DWORD DWORD PTR PTR [esp+4],eax [esp+4],eax 61: 61: c7 c mov mov DWORD DWORD PTR PTR [esp],0x0 [esp],0x0 68: 68: e8 e8 fc fc ff ff ff ff ff ff call call <main+0x69> <main+0x69> 6d: 6d: c4 c add add esp,0x34 esp,0x34 70: 70: pop pop ecx ecx 71: 71: 5d 5d pop pop ebp ebp 72: 72: 8d 8d fc fc lea lea esp,[ecx-4] esp,[ecx-4] 75: 75: c3 c3 ret ret 11
9 Jerarquía del software Sin S.O. (stand-alone) Con S.O. App1 App2 App3 Aplicación (programa) Sistema Operativo Hardware Hardware 12
10 Jerarquía del software aplicaciones utilidades bibliotecas kernel S.O. hardware 13
Computadores y Comunicaciones. Tema 5: Software y sistemas operativos
Computadores y Comunicaciones Tema 5: Software y sistemas operativos Febrero, 2011 Jorge Juan Chico , Julián Viejo Cortés Departamento de Tecnología Electrónica Universidad
Más detallesArquitectura del ordenador
Arquitectura del ordenador Jorge Juan Chico , Julián Viejo Cortés 2012, 2014 Departamento de Tecnología Electrónica Universidad de Sevilla Usted es libre de copiar, distribuir
Más detallesContenidos. Para el usuario. Para el programador. Para el desarrollador del sistema operativo.
Sistemas operativos Jorge Juan Chico , Julián Viejo Cortés 2011, 2014 Departamento de Tecnología Electrónica Universidad de Sevilla Usted es libre de copiar, distribuir
Más detallesadreça lògicacontingut (en hexadecimal) dels 8 bytes a partir de l adreça lògica
Solución al Problema 1 a) Suponer los siguientes contenidos de memoria: adreça lògicacontingut (en hexadecimal) dels 8 bytes a partir de l adreça lògica 0020h:0008h FC 00 1A 23 19 00 20 00 0020h:0010h
Más detallesArquitectura IA-32 Pila. Autor:Alejandro Furfaro
Arquitectura IA-32 Pila 1 Cuando se usa la pila? Cuando llamamos a una subrutina desde un programa en Assembler, mediante la instrucción CALL Cuando el hardware mediante la interfaz adecuada envía una
Más detallesPráctica 1. Introducción a la programación en ensamblador
Práctica 1 Introducción a la programación en ensamblador 1. Generalidades 2. Introducción 3. Cuestiones 1. Generalidades El desarrollo de las prácticas consistirá en una breve introducción del tema por
Más detallesAbstracción del Control de Flujo de Ejecución
Abstracción del Control de Flujo de Ejecución Iteraciones Esp. Ing. José María Sola, profesor. Revisión 1.2.0 2017-05-07 Tabla de contenidos 1. Iteraciones... 1 1.1. Introducción... 1 1.1.1. Caso de Estudio...
Más detallesApellidos Nombre DNI
A continuación se muestra el listado de un programa cuyo objetivo es encontrar una palabra dentro de una cadena de caracteres de la sección de datos y copiar dicha palabra en otra zona de la sección de
Más detallesConstruyendo Programas más Complejos
Arquitectura de Ordenadores Construcciones de Alto Nivel en Ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Construyendo Programas más
Más detallesComputadores y Comunicaciones. Tema 4: Arquitectura y funcionamiento básico del ordenador
Computadores y Comunicaciones Tema 4: Arquitectura y funcionamiento básico del ordenador Febrero, 2011 Jorge Juan Chico , Julián Viejo Cortés Departamento de Tecnología
Más detallesComputadores y Redes de Computadores. Práctica de Laboratorio: Software
Computadores y Redes de Computadores Práctica de Laboratorio: Software Julián Viejo Cortés Jorge Juan Chico 2008, 2014 Índice de contenidos 1. Introducción...2 2. Ejemplo 1: Suma de números en ensamblador...2
Más detallesOrganización del Computador I 1er. Parcial 17-Mayo-2005. Turno:
Nota: En el parcial se puede tener la cartilla de Assembler y la de seguimiento (formatos de instrucción) pero no se pueden compartir. Para aprobar el parcial, son necesarios 6(seis) puntos. Para promocionar,
Más detallesEl Diseño de un Lenguaje Máquina
Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje
Más detallesTema: Lenguaje ensamblador embebido
Compiladores. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Lenguaje ensamblador embebido Contenido En esta guía se presenta una breve introducción a las estructuras
Más detallesObjetivo. Introducción. Tema: GENERACION DE CODIGO. Compiladores, Guía 11 1
Compiladores, Guía 11 1 Tema: GENERACION DE CODIGO. Facultad : Ingeniería Escuela :Computación Asignatura:Compiladores Objetivo Reconocer las diferentes instrucciones para la generación de código.ensamblador
Más detallesLos números naturales y enteros en el 80X86 y en LAN
Los números naturales y enteros en el 80X86 y en LAN 1. Los números naturales en el 80X86/TASM Representación Sistema de representación En el 80X86 (y en la mayoría de los procesadores), los números naturales
Más detallesConceptos de Arquitectura de Computadoras Curso 2015
PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.
Más detallesLENGUAJE ENSAMBLADOR 80386 PRÁCTICA 11 PRÁCTICA 11 CUATRO OPERACIONES FUNDAMENTALES EN NÚMEROS DE 8 BYTES
PRÁCTICA 11 SUMA, RESTA, MULTIPLICACIÓN Y DIVISIÓN DE DOS NÚMEROS ENTEROS POSITIVOS DE HASTA 20 DÍGITOS DECIMALES 1. INTRODUCCIÓN Mediante esta práctica, trabajaremos con números binarios de hasta veinte
Más detallesPráctica 1: Entorno de desarrollo GNU
Práctica 1: Entorno de desarrollo GNU Gustavo Romero López Arquitectura y Tecnología de Computadores 6 de marzo de 2017 Gustavo Romero López Práctica 1: Entorno de desarrollo GNU 1 / 17 Material complementario
Más detallesApellidos Nombre DNI
Apellidos Nombre DNI Examen de Arquitectura de Computadores (Telemática) Convocatoria de Junio: 2 06 2010 El código mostrado a continuación pretende determinar el valor numérico de una cadena de caracteres
Más detallesTema 1. Fundamentos del lenguaje ensamblador
Tema 1. Fundamentos del lenguaje ensamblador Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Índice Estructura del
Más detallesIntroducción a la Computación
Introducción a la Computación Primer Cuatrimestre de 2012 Organización de Computadoras (Brevísima Introducción) 1 Mapa de la materia Programas simples en C. Especificación de problemas. Corrección de algoritmos.
Más detallesExploiting... Stack Based Buffer Overflow
Exploiting... Stack Based Buffer Overflow FAMAF UNC November 10, 2015 Se puede ganar? int main () { int cookie ; char buf [80]; } gets ( buf ); // Lee hasta el primer... if ( cookie == 0 x41424344 ) printf
Más detallesPregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15
Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 Sistemas operativos, arquitectura von Neumann, configuración del PC (3 puntos) 1) Señale la opción correcta: [_]
Más detallesPráctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares:
Práctica 4 Organización del Computador 1 12 de septiembre de 2005 Algunas consideraciones preliminares: Donde aparece xxxxxxxx quiere decir que el valor correcto ya está en esa dirección de memoria Todos
Más detallesEl programa ALFA que se utilizará en el ejemplo se muestra en la figura. // Incrementa en 1 el // dato de entrada
Marina de la Cruz Alfonso Ortega En este documento se presenta un ejemplo de compilación de un programa escrito en ALFA. Durante el proceso de compilación se traduce el código ALFA a código NASM. El objetivo
Más detallesIngeniería Inversa en Linux
Índice: 1. Introducción. 2. Qué es la ingeniería inversa. 3. La no distribución del código fuente 4. Para qué se utiliza. 5. Utilidades. 6. El formato ELF. 7. Desarrollo de la Ingeniería Inversa. 8. Ingeniería
Más detallesEstructura de Computadores
Estructura de Computadores El computador simple ------------------------------------------------------------------------- Autores: David Guerrero. Isabel Gómez Usted es libre de copiar, distribuir y comunicar
Más detallesInstrucciones del microprocesador
Instrucciones del microprocesador Formato de las Instrucciones Las líneas de instrucciones se integran de 4 campos. [Identificador]: Se utiliza par etiquetar a las intrucciones donde se realizara el salto,nombre
Más detallesApellidos Nombre DNI
Apellidos Nombre DNI Examen de Arquitectura de Computadores (Telemática) Convocatoria de Julio: 9 07 2010 El siguiente código incompleto, trata de averiguar si existe un fichero cuya ruta se proporciona.
Más detallesPregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,2
Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,2 Sistemas operativos, arquitectura von Neumann, configuración del PC (4 puntos).- Señale la opción incorrecta: [_] a)
Más detallesIntroducción a los lenguajes de descripción de hardware
Introducción a los lenguajes de descripción de hardware Noviembre 2009 Jorge Juan Chico Departamento de Tecnología Electrónica Universidad de Sevilla Usted es libre de copiar, distribuir
Más detallesAprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32
Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Este documento forma parte de la serie Aprendiendo Sistemas Operativos y sirve como una introducción a los aspectos básicos
Más detallesUnidad 2 Programación en Lenguaje Ensamblador
Microcontroladores Unidad 2 Programación en Lenguaje Ensamblador M. C. Miguelangel Fraga Aguilar Modos de direccionamiento Modo de direccionamiento es la manera en que una instrucción obtiene los operandos
Más detallesTEMA 1. PROGRAMACIÓN DE UN COMPUTADOR
Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN
Más detallesIntroducción a la Computación (Matemática)
Introducción a la Computación (Matemática) Primer Cuatrimestre de 2016 Brevísima Introducción a la Organización de Computadoras 1 Mapa de la materia Programas simples en C++. Especificación de problemas.
Más detallesArquitectura de Sistemas
Arquitectura de Sistemas Práctica 1: Entorno de desarrollo GNU Gustavo Romero López Actualizado: 11 de mayo de 2018 Arquitectura y Tecnología de Computadores Material complementario Manuales: Hardware:
Más detallesOrganización de computadoras. Clase 6. Universidad Nacional de Quilmes. Lic. Martínez Federico
Organización de computadoras Clase 6 Universidad Nacional de Quilmes Lic. Martínez Federico Qué vimos? Pila Push Pop Modularizar Reusar Call y Ret Q5 Qué vimos? JMP y CALL no son lo mismo? NO Qué hay para
Más detallesIntel 8086 modelo básico (primera parte) Registros:
Intel 8086 modelo básico (primera parte) Registros: Uso general: AX, BX, CX, DX, SI, DI, BP. Uso con direccionamento especial: SP, IP. Registros de segmento: CS, SS, DS, ES. Modelo de los registros: 20
Más detallesEstructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086
Estructura de Computadores: Tema 1 El procesador Introducción Estudiaremos la arquitectura del procesador i8086 (CPU, registros,...), su gestion de la memoria y su conjunto de instrucciones. Programaremos
Más detallesExamen de teoría (5 puntos)
Examen de Estructura de Computadores. Septiembre de 25 Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen constará de dos partes: El examen tendrá una duración total de 2 horas. La nota final
Más detallesPregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,15
Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,15 Sistemas operativos, arquitectura von Neumann, configuración del PC (3 puntos) 1) Cual de las siguientes afirmaciones
Más detallesPila / Convención C / Interacción C-ASM. Ejercicios. Pila. Organización del Computador II. 21 de marzo de 2017
Organización del Computador II 21 de marzo de 2017 / / Hoy vamos a ver / / Para ponernos de acuerdo... Está en memoria. RSP y RBP la definen. Crece númericamente para atrás. / / Cómo la usamos? PUSH y
Más detallesSoluciones de los ejercicios sobre instrucciones y direccionamiento
Soluciones de los ejercicios sobre instrucciones y direccionamiento Siguiente: Soluciones de los ejercicios sobre periféricos y ADM Padre: Materiales didácticos Inicial: Fundamentos de ordenadores 1 Con
Más detallesTema 4. Fundamentos del ensamblador
Tema 4. Fundamentos del ensamblador Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 30 Índice Filosofía de programación Organigramas
Más detallesMódulo 08 Lenguaje Ensamblador
Módulo 08 Lenguaje Ensamblador Organización de Computadoras Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur Copyright Copyright 2011-2015 A. G. Stankevicius Se asegura la libertad para copiar,
Más detallesEntender los aspectos técnicos, por los cuales un intruso puede ingresar a un sistema y tomar el control de este
COMO PENETRAR UN SISTEMA POR MEDIO DE DESBORDAMIENTO DE BUFFER OBJETIVO Entender los aspectos técnicos, por los cuales un intruso puede ingresar a un sistema y tomar el control de este AGENDA Programas
Más detallesProgramación de IA-32 Modo Real
Programación de IA-32 Modo Real Control del flujo de la ejecución Erwin Meza Vega IA-32 Modo real (1/2) Acceso sólo a características limitadas del procesador Se comporta como un 8086 muy rápido Uso de
Más detallesDiferentes Perspectivas de un Ordenador
Arquitectura de Ordenadores Programación en ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Diferentes Perspectivas de un Ordenador INT-1
Más detallesGeneración de código para funciones. Generación de código para funciones. Generación de código para funciones. Generación de código para funciones
Ejemplo introductorio: escritura de funciones en NASM Ejemplo introductorio: escritura de funciones en NASM En estas transparencias pondremos una subrutina ASPLE y la generación de código equivalente En
Más detallesIntroducción a la programación
Introducción a la programación PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Introducción 1 Introducción a la programación Computador: aparato electrónico capaz de interpretar
Más detallesMICROPROCESADORES I SET DE INSTRUCCIONES DEL 8080
MICROPROCESADORES I SET DE INSTRUCCIONES DEL 8080 Registro de Estado S Z Ca P C S: Bit de Signo Z: Bit de Cero Ca: Carry Auxiliar P: Bit de Paridad C: Bit de Carry AC: Acumulador ACI -Suma en forma inmediata
Más detallesLectura y escritura de un caracter
Lectura y escritura de un caracter Trabajando con cadenas en Debug Herramientas Entorno Dos y Windows Masm es el ensamblador mas usado en DOS y Windows, desarrollado por Microsoft, puede utilizarse para
Más detallesPRÁCTICA # 2. 0 Direcciones 1 Dirección 2 Direcciones 3 Direcciones
UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN UNIDAD DOCENTE DE REDES, ARQUITECTURA Y SISTEMAS ORGANIZACIÓN Y ESTRUCTURA DEL COMPUTADOR I PRÁCTICA # 2 1. Escriba programas
Más detallesBus de direcciones. Bus de datos
1) INTRODUCCIÓN A LA MÁQUINA SENCILLA La máquina sencilla (MS) es un computador concebido para fines exclusivamente didácticos. MS sólo dispone de dos bloques: Unidad Central de Proceso y memoria principal.
Más detallesPráctica 3: Programación en ASM Orga 1
Ignacio Eguinoa Organización del Computador I DC - UBA Segundo Cuatrimestre de 2015 Generaciones de lenguajes 1G: Lenguaje de máquina(código binario de operaciones) 2G: Lenguaje Ensamblador(Assembly) (Textual
Más detallesIntroducción al Software Libre
Introducción al Software Libre Jorge Juan . 2014, 2015. Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas bajo las condiciones de la licencia
Más detalles101 Sombras del Malware. Israel Aráoz Severiche C EH,C HFI,
101 Sombras del Malware Israel Aráoz Severiche C EH,C HFI, LA27001 @iara0z Agenda Situación Actual Objetivo del Análisis de Malware Tipos de Análisis Estático Dinámico Preguntas Nslookup Israel.araoz Ing.
Más detallesEnsamblador del Pentium
Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Ensamblador del Pentium
Más detallesPráctica 6. El procesador
Práctica 6 El procesador Material: PC y Visual Studio 2013 Duración: 2 horas Lugar: Laboratorios de prácticas (Laboratorio de Redes-Hardware) La herramienta que vamos a utilizar para el desarrollo de las
Más detallesMOV EBX, 0 ; Finalizar cad. destino
Instrucciones generales para la realización de este examen La respuesta debe escribirse en el hueco existente a continuación de cada pregunta con letra clara. Cada respuesta correcta suma un punto Cada
Más detallesProgramas Residentes En Lenguaje Ensamblador
UNIVERSIDAD DEL VALLE DE GUATEMALA Facultad de Ingeniería Programas Residentes En Lenguaje Ensamblador Trabajo de investigación presentado por Hugo Chinchilla Luis Monteros Josué Rendón Estrada i INDICE
Más detallesAcceso Directo a Memoria
Tema 7: Acceso Directo a Memoria 7.1 El concepto Qué es una transferencia por acceso directo a memoria? El modelo de transferencia de información visto en los capítulos anteriores se denomina transferencia
Más detallesISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones
ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad
Más detallesFundamentos de Arquitectura y Código Máquina
Fundamentos de Arquitectura y Código Máquina Lección 3 Ing. Jorge Castro-Godínez MT7003 Microprocesadores y Microcontroladores Área de Ingeniería Mecatrónica Instituto Tecnológico de Costa Rica I Semestre
Más detallesComparaciones en lenguaje ensamblador
Comparaciones en lenguaje ensamblador Objetivo: Entender cómo se realizan las comparaciones de datos en lenguaje ensamblador En lenguaje ensamblador no existe la instrucción IF como se trabaja en otros
Más detallesOrganización de Computadoras. Clase 8
Organización de Computadoras Clase 8 Temas de Clase Organización de Registros Instrucciones Notas de Clase 8 2 Organización de registros Registros visibles al usuario: son utilizados por el programador.
Más detallesT1-Introducción. Índice
T1-Introducción 1.1 Índice El papel del S.O. Servicios que ofrece el S.O. Formas de acceder al kernel (Tema 8 EC) Modos de ejecución Interrupciones, excepciones y llamadas a sistema Llamadas a sistema
Más detalles2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 1 - INTRODUCCIÓN JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ
ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 1 - INTRODUCCIÓN JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 1.MaNoTaS 1 Definiciones (I) Descripción Un
Más detalles"Programación en Ensamblador del microprocesador Pentium (I)"
PRÁCTICA 3 "Programación en Ensamblador del microprocesador Pentium (I)" ÍNDICE 3.1.- El microprocesador Pentium. 3.2.- Inserción de ensamblador en Visual Studio. 3.3.- Facilidades para la depuración de
Más detallesFUNCIONAMIENTO DEL ORDENADOR
FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores
Más detallesLa Pila en los Procesadores IA-32 e Intel c 64
La Pila en los Procesadores IA-32 e Intel c 64 Alejandro Furfaro Ilustraciones de David Gonzalez Marquez (tnx a lot) Abril 2012 Abril 2012 1 / 44 Agenda 1 Funcionamiento Básico 2 Ejemplos de uso de pila
Más detallesESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
Tema 4: Familia x86 Carlos Garre 1 Familia x86 Contenidos Concepto de familia: la familia x86. Generaciones de la familia x86. Primera generación: 8086. Segunda generación: 80286. Tercera generación: 80386.
Más detallesARQUITECTURA DE SISTEMAS PARALELOS 2. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 4. PROGRAMACION PARALELA CON openmp.
ARQUITECTURA DE SISTEMAS PARALELOS 2. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 4. PROGRAMACION PARALELA CON openmp. 1. OBJETIVOS Y PREPARACIÓN. En la actualidad los multiprocesadores en un solo chip (denominados
Más detallesTaller de Protección y Seguridad
Taller de Protección y Seguridad Sistemas Operativos Diego Fernandez Slezak (gracias Sabi!!!) 1 Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires SO - Taller
Más detalles3 - Arquitectura interna de un up
cei@upm.es 3 - Arquitectura interna un up Componentes básicos Lenguaje ensamblador y código máquina Ciclo básico ejecución una instrucción Algunos ejemplos Universidad Politécnica Madrid Componentes básicos
Más detallesTema 2 INSTRUCCIONES DE UN COMPUTADOR. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía
Tema 2 INSTRUCCIONES DE UN COMPUTADOR ÍNDICE Definiciones Formatos de instrucción Modos de direccionamiento Tipos de instrucciones Diagrama de flujo Lenguaje del computador Definiciones: conceptos de arquitectura
Más detallesTema 5.1: Presentación de datos en pantalla
Tema 5.1: Presentación de datos en pantalla El registro de flags del i8086 Instrucciones de transferencia Instrucciones de transferencia de control Instrucciones aritméticas: comparación Representación
Más detallesCiclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp
Ciclos de máquina Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp Acceso a periféricos: función del pin IO/M Este μp cuenta con dos instrucciones específicas para I/O, llamadas
Más detallesFunciones y Datos en Intel 8086
y Datos en Intel 8086 Departamento de Arquitectura 1 1 Instituto de Computación Facultad de Ingeniería Universidad de la República Arquitectura de Computadoras, 2016 Temas 1 2 Tipos atómicos Tipos estructurados
Más detallesTema 2: Representación Digital de la Información
Tema 2: Representación Digital de la Información Jorge Juan Chico , Julián Viejo Cortés 2-7 Departamento de Tecnología Electrónica Universidad de Sevilla Usted es
Más detallesEnsamblador x86. Ing. Jorge Castro-Godínez
Ensamblador x86 Lección 4 Ing. Jorge Castro-Godínez MT7003 Microprocesadores y Microcontroladores Área de Ingeniería Mecatrónica Instituto Tecnológico de Costa Rica I Semestre 2014 Jorge Castro-Godínez
Más detallesSISTEMAS BASADOS EN MICROPROCESADORES
SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática ENUNCIADO PROBLEMA 1 A continuación se incluye el código de una aplicación formada por un programa principal escrito en lenguaje C,
Más detallesEjercicios sobre instrucciones y direccionamiento
Ejercicios sobre instrucciones y direccionamiento Siguiente: Ejercicios sobre periféricos y ADM Padre: Materiales didácticos Inicial: Fundamentos de ordenadores 1 Suponga que se modifica la estructura
Más detallesCruz García Karen Ilzette González Mendoza María del Rosario Hernández Castañeda Alan Eliseo Sánchez Quiroz Sheila Mariana Varela García Tania
Cruz García Karen Ilzette González Mendoza María del Rosario Hernández Castañeda Alan Eliseo Sánchez Quiroz Sheila Mariana Varela García Tania Violeta Un ensamblador es el programa que convierte un listado
Más detallesComputadores y Comunicaciones. Tema 3: Representación Digital de la Información
Computadores y Comunicaciones Tema 3: Representación Digital de la Información Febrero, 2 Jorge Juan Chico , Julián Viejo Cortés Departamento de Tecnología Electrónica
Más detallesSistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria. Sistema complejo se estudia
Más detallesAsignaturas antecedentes y subsecuentes
PROGRAMA DE ESTUDIOS Ensamblador Área a la que pertenece: Área Sustantiva Profesional Horas teóricas: 3 Horas prácticas: 2 Créditos: 8 Clave: F0160 Asignaturas antecedentes y subsecuentes PRESENTACIÓN
Más detallesUniversidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86)
Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad II: Arquitectura y Programacion de un Microprocesador (80X86) Arq. de Computadora I Ing. Carlos Ortega H. 1 Interrupciones FUNCIÓN INT
Más detallesOrganización de computadoras. Clase 2. Universidad Nacional de Quilmes. Lic. Martínez Federico
Organización de computadoras Clase 2 Universidad Nacional de Quilmes Lic. Martínez Federico La clase pasada. Compuertas lógicas: La clase pasada. Compuertas lógicas: Qué? La clase pasada. Compuertas lógicas:
Más detallesExamen Parcial de Arquitectura de Computadoras Prof: Ing. José ESTRADA MONTES
Examen Parcial de Arquitectura de Computadoras Prof: Ing José ESTRADA MONTES 1- Diseñe un sistema de control de un motor de paso ( hardware y software ) a través de una computadora y una tarjeta de interfase
Más detallesEnsamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez
Dpto. Física y Arquitectura de Computadores Universidad Miguel Hernandez Es el lenguaje de más bajo nivel que admite una máquina. El ensamblador hace que el código binario(máquina sea transparente al usuario)
Más detallesInstrucciones de máquina y tipos de software
(obsoletos) Instrucciones de máquina y tipos de software Software del sistema: Implementa sobre la máquina convencional («desnuda») una «máquina virtual»: la máquina operativa Software de aplicaciones:
Más detallesPROGRAMA INSTRUCCIONAL PROGRAMACION III
UNIVERSIDAD FERMIN TORO VICE RECTORADO ACADEMICO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACION PROGRAMA INSTRUCCIONAL PROGRAMACION III CODIGO DENSIDAD HORARIA PRE - SEMESTRE U.C. ASIGNADO EQUIVALENTE H.T.
Más detallesEnsamblador x86: lazos y procedimientos
Ensamblador x86: lazos y procedimientos Lección 5 Ing. Jorge Castro-Godínez MT7003 Microprocesadores y Microcontroladores Área de Ingeniería Mecatrónica Instituto Tecnológico de Costa Rica I Semestre 2014
Más detallesOrganización n del Computador. CPU (ISA) Conjunto de Instrucciones de la Arquitectura
Organización n del Computador CPU (ISA) Conjunto de Instrucciones de la Arquitectura Estructura (computadora) periféricos Computador Computador Unidad Central de Proceso CPU Sistema de interconexión Memoria
Más detallesRepública Bolivariana de Venezuela Aldea Universitaria Fray Pedro de Agreda PNFSI. Introducción a lenguaje C++. Parte IV Ciclos iterativos
http://aldeafraypedrodeagreda.wordpress.com Elaborado por Prof. Elías Cisneros cisneros.elias@gmail.com 23/12/09 República Bolivariana de Venezuela Aldea Universitaria Fray Pedro de Agreda PNFSI Introducción
Más detalles