Alternativas de programación
|
|
- Josefa Espinoza Muñoz
- hace 8 años
- Vistas:
Transcripción
1 Alternativas de programación Enteramente en bajo nivel programa completo librería rutina particular Embebido en alto nivel rutinas librería 1
2 Alternativas de programación Enteramente en bajo nivel programa completo librería rutina particular Embebido en alto nivel rutinas librería Programa fuente en ensamblador.asm Ensamblador Programa objeto.obj Linkeador Programa ejecutable.com ó.exe Alternativas de programación Enteramente en bajo nivel programa completo librería rutina particular Embebido en alto nivel rutinas librería procedimiento donothing lista de variables cuerpo en ensamblador fin cuerpo principal sentencias alto nivel codigo ensamblador sentencias alto nivel fin cuerpo 2
3 Primera alternativa Se parte de un texto puramente assembler MASM : Microsoft assembler parte del paquete Microsoft C TASM : Turbo assembler provisto con los paquetes Borland C Borland Pascal 3.0 o sup. Turbo assembler Modos de operación Modo MASM Compacto usa comandos breves Estandar usa comandos completos Modo IDEAL Permite un estilo de programación similar al alto nivel Como buen competidor de microsoft reconoce programas hechos para MASM 3
4 Estructura de un programa No hay una estructura definida de datos de código de código de datos de código de datos de código de código y datos de datos de código de datos Cada bloque representa un segmento diferente dentro del programa de datos Permite definir los símbolos a usar en el programa Permite asociar espacio de almacenamiento a los símbolos <symbol_name> <symbol_type> [<value>] A-Z a-z $? 0-9 DB define byte (1) DW define word (2) DD define double (4) DF, DP define far/pointer (6) DQ define quad word (8) DT define tera word (10) nn..nnb n in [0,1] nn..nnd n in [0,9] nn..nn n in [0,9 a,f] 4
5 Ejemplos de definición de símbolos a DB 5 _dossegptr df aux1 dd dw 1500d bcd1 dt 14fd6a3efc80a602edfa real1 dq E+1 La definición de símbolos siguiente a db 5 b dw 8 c dd 56 d dt 4 p dp genera un espacio de datos de 23 bytes Diferencia con las variables de alto nivel Un símbolo define una referencia o desplazamiento dentro del área de datos y NO UN REPOSITORIO PARA UN TIPO DE DATOS a db 5 b dw 8 c dd 56 d dt 4 p dp Se ensambla como 05 a= b= c= d= p=17 Contenido del segmento de datos Valor de los símbolos 5
6 Diferencia con las variables de alto nivel Dada esta definición de símbolos a db 5 b dw 8 c dd 56 d dt 4 p dp Assembler mov ax, a mov b, al add eax, c sub p, cl Es posible hacer cod. máquina mov ax, [0] mov [1], al add eax, [3] sub [17], cl Definiciones complejas arreglo dw 1, 2, 3, 4, 5 matriz db 1, 2, 3 db 4, 5, 6 db 7, 8, 9 ; define un arreglo de 5 words, inicializado. ; define una matriz de 3 x 3 bytes. ; inicializada. arreglo_vacio dw 100 DUP(0) ; define un arreglo de 100 words inicializado a 0. string db 10 DUP( A ) string2 db A, B, C, D string3 db ABCD ; define el string AAAAAAAAAA ; define el string ABCD ; igual a string2 6
7 Definiciones complejas string4 db ABCD, 0dh, 0ah,0 ; define un string con salto de linea al final a db 5 DUP(3 DUP(0), 3 DUP (4)) ; define un arreglo a como sigue b dw 2 DUP(3 DUP(1, 3), 5) define 1, 3, 1, 3, 1, 3, 5, 1, 3, 1, 3, 1, 3, 5 Definiciones complejas Estructuras Definición Instanciación Astruct struct B db xyz C dw 1 D dd 2 astruct ENDS Reg_a astruct Reg_a astruct? Reg_a astruct {} Reg_a astruct {B= abc, C=5} ; no inicializado ; no inicializado ; valores por defecto ; B y C con nuevos valores, D por defecto 7
8 Definiciones complejas Uniones (difieren de las estructuras en que sus elementos se superponen unos con otros) Definición Instanciación Aunion union B db xyz C dw 1 D dd 2 aunion ENDS Reg_a aunion Reg_a aunion? Reg_a aunion {} Reg_a aunion {B= abc, C=5} Reg_a aunion {C=5} ; no inicializado ; no inicializado ; inválido ; inválido ; equivalente a dw 5 dw? Definiciones complejas Records (Un tipo de datos record representa una colección de campos de bit) Definición Arec record B : 3=4, C : 2, D : 4=15 Equivale a un registro de 9 bits de la forma: 1 0 0?? B=4 C=? D=15 TASM genera internamente: Arec dw (4 SHL 6) + (0 SHL 4) + (15 SHL 0) 8
9 Pasamos a otra cosa de código Secuencia de líneas de código de 8086 o 80x86 de la forma: [rótulo] : instrucción [; comentario] Ejemplo: inicio : mov ax, 1 ; valor a acumular mov cx, 10 ; itero 10 veces acum : add bx, ax ; sumo AX con BX loop acum ; si CX <> 0 sigo fin : ret ; retorno 9
10 Modo MASM estandar Se define la estructura de cada segmento que se va a usar Tipos de segmentos : pila, datos, código Formato de un segmento: <name> SEGMENT <alineación> <acceso> <tipo> byte private DATA word public CODE dword memory STACK para virtual page at xxx mempage common Modo MASM estandar pila SEGMENT PARA stack DB 200 DUP(?) pila ENDS datos SEGMENT WORD public data hello_msg DB Hola mundo, 13, 10, $ datos ENDS codigo SEGMENT WORD public code ASSUME cs:codigo, ds:datos inicio: mov ax, datos mov ds, ax mov ah, 9 mov dx, OFFSET hello_msg int 21h mov ah, 4ch int 21h codigo ENDS END inicio Todo segmento es de la forma name SEGMENT... Cuerpo name ENDS La directiva ASSUME indica a TASM en que segmentos debe asumir los selectores de segmento El programa empieza en la primer instrucción del segmento de código Las 2 primeras intsrucciones son mandatorias para cargar DS con el segmento a usar El programa empieza en el rotulo indicado en la directiva final END 10
11 Modo estandar: otro ejemplo datos1 SEGMENT WORD public data a db 5 datos1 ENDS datos2 SEGMENT WORD public data b db 5 datos2 ENDS codigo SEGMENT WORD public code ASSUME cs:codigo, ds:datos1 mov ax, datos1 mov ds, ax mov ah, a ASSUME ds:datos2 mov ax, datos2 mov ds, ax mov ah, b codigo ENDS Si esta cláusula no estuviera TASM arroja un error Modo estandar: uso del ASSUME datos1 SEGMENT WORD public data a db 5 b db 6 datos1 ENDS datos2 SEGMENT WORD public data b db 5 datos2 ENDS codigo SEGMENT WORD public code ASSUME cs:codigo, ds:datos1 mov ax, datos1 mov ds, ax mov ah, a ASSUME ds:datos2 mov ax, datos2 mov ds, ax mov ah, b codigo ENDS Si esta cláusula no estuviera TASM usará el símbolo b de datos1 en lugar de el de datos2 11
12 Grupos de segmentos: directiva DGROUP Datagroup GROUP datos 1, datos2 Combina 2 o mas segmentos en una única entidad lógica de manera que todos ellos pueden ser accedidos relativos a un único registro de segmento datos1 SEGMENT WORD public data a db 5 datos1 ENDS datos2 SEGMENT WORD public data b db 5 datos2 ENDS codigo SEGMENT WORD public code ASSUME cs:codigo, ds:datagroup mov ax, datagroup mov ds, ax mov ah, a mov ah, b codigo ENDS Segmentos por defecto Modelo CS DS Tiny _TEXT DGROUP Small _TEXT DGROUP Compact _TEXT DGROUP Medium filename_text DGROUP Large filename_text DGROUP Huge filename_text calling_filename_data DGROUP GROUP _data, _bss 12
13 Modo MASM compacto. MODEL small. STACK 100. DATA hello_msg DB Hola mundo, 13, 10, $.CODE END mov mov ds, ax mov ah, 9 mov dx, OFFSET hello_msg int 21h mov ah, 4ch int 21h Modelo de trabajo Tamaño de la pila Segmento de datos Segmento de código Modo MASM compacto Algunas directivas mas comunes.8086 habilita uso del set de inst. del 8086 e inhibe las de 286, 386, 486, etc..386 habilita uso de las inst. adicionales del 386 sin modo protegido P386P habilita uso de las inst. adicionales del 386 con modo protegido.486 habilita uso de las inst. adicionales del 486 sin modo protegido P486P habilita uso de las inst. adicionales del 486 con modo protegido USE16 fuerza el uso de segmentos de 16 bits en 386/486 USE32 fuerza el uso de segmentos de 32 bits en 386/486 CODESEG name inicio de un nuevo segmento de código de nombre name.code name igual al anterior. Modo MASM solamente DATASEG inicio de un nuevo segmento de datos.data igual al anterior. Modo MASM solamente.alpha indica al ensamblador poner los segmentos en el OBJ alfabéticamente.seq indica al ensamblador poner los segmentos en el OBJ en el orden en que aparecen en el fuente 13
14 Modo MASM compacto Algunas directivas mas comunes ORG exp fuerza el contador de programa a exp en el segmento actual ALIGN pot2 alinea el comienzo del segmento al valor pot2 :: permite definir labels con ámbito mas alla de los límites del procedimiento en que se define Definición de procedimientos Sintáxis: name PROC [[lang_modif] lang] [distance] [ARG argument_list] [RETURNS item_list] [LOCAL argument_list] [USES item_list] name ENDP Distance : FAR permite llamar los procedimientos desde fuera del segmento en el que estan definidos NEAR el procedimiento solo es visible dentro del segmento en que esta definido 14
15 Ejemplo codigo1 SEGMENT code proc1 PROC near... proc1 ENDP proc2 PROC far... proc2 ENDP inicio : call proc1 ; OK call proc2 ; OK codigo1 ENDS codigo2 SEGMENT code inicio2 : call proc1 ; falla call proc2 ; OK codigo2 ENDS Definición de procedimientos Language lang_modif BASIC, FORTRAN, PROLOG, C, CPP, PASCAL NORMAL, WINDOWS, ODDNEAR, ODDFAR Lenguaje: none Basic Fortran Pascal C CPP Prolog orden de argumentos L-R L-R L-R L-R R-L R-L R-L left-right right-left quien limpia proc proc proc proc caller caller caller la pila 15
16 Argumentos y variables locales ARG argument [, argument]...[=symbol] [RETURNS argument [, argument]...] LOCAL argument [, argument]...[=symbol] argument ::= argname [[count1_exp] : complex_type [: count2_exp]] Complex_type : es el tipo de dato del argumento (byte, word, dword,...) count2_exp : especifica cuantos items del tipo dado define el argumento ARG tmp:dword:4 define un argumento llamado tmp de 4 doble palabras count1_exp : especifica la cantidad de elementos de la variable (arreglo) ARG tmp 3:DWORD:4 tmp es un arreglo de 3 elementos de 4 dwords cada uno symbol : TASM iguala ese símbolo al tamaño total de la lista de argumentos en bytes ARG a:word, b:dword:4, c:byte = d ; d = 20 (debido a la alineación de pila) Ejemplo Sumar PROC PASCAL far ARG op1:byte:4, op2:byte:4=count RETURNS resul:dword LOCAL de_gusto:word mov eax, op1 add eax, op2 mov resul, eax ret count Sumar ENDP BP-2 BP BP+2 BP+6 BP+10 BP+14 De_gusto BP Dir ret op2 op1 resul stack 16
17 Acceso a los datos... Dado: var1 db? var2 dd 4567 se accede como: mov al, var1 mov al, byte ptr var1 ; en el segmento de datos ; warning, intenta cargar un puntero en AL ; al = contenido de var1 mov al, byte ptr [ds:var1] mov ax, offset var1 mov eax, dword ptr var1 ; al = contenido de var1 ; ax = desplazamiento de var1 ; OJO, carga en EAX 4 bytes empezando desde var1 (var1 y los 3 primeros bytes de var2) Acceso a los datos... Dado: t_var STRUCT a dw 7 b db 5 t_var ENDS mi_var t_var {} se accede como: mov ax, word ptr mi_var.a ; AX = 7 mov bl, byte ptr mi_var.b ; BL = 5 ; en el segmento de datos mov cx, offset mi_var.b ; CX = 2, en este caso 17
18 Rótulos de salto....data rotulo dd? ; defino una variable puntero.code un_proc PROC FAR... Un_proc ENDP.start mov ax, offset un_proc mov es, seg un_proc mov word ptr rotulo, ax mov word ptr [rotulo+2], es call un_proc call dword ptr [rotulo] ; una rutina far tiene dirección de 4 bytes ; comienzo del programa ; guardo en es:ax la dirección de la rutina ; almaceno dicha dirección en rotulo ; llamo al procedimiento así ; o así Modo IDEAL Características Permite ver el código fuente tal como una expresión o instrucción de alto nivel Los programas son más claros y sin los trucos del MASM Adiciona chequeo estricto de tipos a las expresiones (lo que evita la escritura de sentencias confusas o erróneas) 18
19 Modo IDEAL El cambio entre modo MASM e IDEAL se hace a través de las directivas MASM e IDEAL. La aparición de una de las directivas en el texto cambia automáticamente a dicho modo hasta la aparición de la otra directiva..code END... ; modo masm por defecto IDEAL... ; modo ideal MASM... ; modo masm Diferencias entre MASM e IDEAL El acceso a símbolos es obligatorio hacerlo como sigue: mov ax, [var] mov ax, OFFSET var ; para cargar en AX el contenido de DS:var ; para cargar en AX el offset de var No es necesario poner directivas como WORD PTR o BYTE PTR en una carga mov bl, var ; solo es posible si var es byte, ya que se carga en BL Las declaraciones de segmentos o procedimientos se invierten para asemejarlas a las de alto nivel SEGMENT datos1 WORD data PROC mi_proc 19
20 Pasos para generar un ejecutable.model small.stack 100h.DATA hello_msg DB 'Hola mundo', 13, 10, '$'.CODE mov mov ds, ax mov ah, 9 mov dx, OFFSET hello_msg int 21h mov ah, 4ch int 21h END Hello.obj tlink hello; MOV AX,1ADE MOV DS,AX MOV AH,09 MOV DX,0000 INT 21 MOV AH,4C INT 21 tasm /la hello; Hello.map Hello.lst Ejemplos Modo compacto.asm Modo estándar.asm Modo compacto.map Modo compacto.lst Modo compacto.exe Modo estándar.exe 20
PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.
PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar
Más detallesIntroducción al NASM. Convenciones de colores
Introducción al NASM The Netwide Assembler MIA J. Rafael Rojano C. 1 Convenciones de colores Rojo= Directivas propias del nasm sin traducción directa a ensamblador Morado= Directivas del ensamblador En
Más detalles62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52
62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52 3DUWHGH(QVDPEODGRU 4º) Escribir un programa en ensamblador que pida un número de una cifra por teclado y saque como resultado
Más detalles6-REGISTROS DEL 8086 Y DEL 80286
ESTRUCTURA DE COMPUTADORES I (Capítulo 6: Los registros del microprocesador 8086) 1/7 6-REGISTROS DEL 8086 Y DEL 80286 6.1 INTRODUCCIÓN: Dentro del procesador existen unos contenedores especiales de 16
Más detallesENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo
ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS Características de un Ensamblador de Archivo Traduce de Leng Ensamblador a Lenguaje máquina Permite definición de etiquetas Reserva memoria para variables octales
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 detallesMÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR
85 MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR El módulo III está conformado por las unidades 7 y 8. El estudio de estas unidades, permite desarrollar en el estudiante las competencias necesarias en la
Más detalles(3) Unidad 3. Interfaz del ensamblador con el lenguaje C SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM
Unidad 3 Interfaz del ensamblador con el lenguaje C SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática EPS - UAM Índice 3. Interfaz del ensamblador con el lenguaje C. 3.1. Características
Más detallesPráctica 2. Registros y posiciones de memoria
Enunciados de prácticas Práctica 2. Registros y posiciones de memoria Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Práctica 2:
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 detallesTema 2. Diseño del repertorio de instrucciones
Soluciones a los problemas impares Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 16 Tema 2: Hoja: 3 / 16 Base teórica Al diseñar un computador,
Más detallesDIRECTIVAS DEL ASM86
DIRECTIVAS DEL ASM86 Directiva SEGMENT / ENDS nombre SEGMENT [alineación] [combinación] [nombre_clase] PARA PUBLIC BYTE COMMON WORD STACK PAGE MEMORY INPAGE AT nombre ENDS Se usa para definir un segmento
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 detallesESTRUCTURA DE COMPUTADORES I (Capítulo 14: DIRECTIVAS) 1/32 14-DIRECTIVAS
ESTRUCTURA DE COMPUTADORES I (Capítulo 14: DIRECTIVAS) 1/32 14-DIRECTIVAS 14.1 INTRODUCCIÓN: Las directivas o pseudooperaciones se pueden dividir en cuatro grupos funcionales:! Directivas de datos.! Directivas
Más detallesArquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005
Arquitectura intel 8086 Preámbulo de OSO para alumnos formados en el procesador MIPS Asignatura Sistemas Operativos Murcia abril de 2005 página 1. Introducción 2 2.- Direccionamiento y Registros de Segmento
Más detallesTema 5 Repertorios de instrucciones: Modos de direccionamiento y formato
Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Bibliografía: William Stallings Organización y Arquitectura de computadores 5ta. Edition. Editorial Pearson Educación.- Objetivos:
Más detallesAcademia técnica de computación A.T.C.
Academia técnica de computación A.T.C. Free Pascal (FPC) El Free Pascal es un compilador Pascal portable, libre y de código abierto, que representa una alternativa a los productos comerciales Turbo Pascal
Más detallesSISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA
SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA IMPLEMENTACIÓN DE UN DRIVER DOS INTERFAZ CON UN SISTEMA DE RADIO
Más detallesEjemplo del uso de las subrutinas
Ejemplo del uso de las subrutinas Enunciado del problema: Diseñar un contador BCD que cuente de 0 a 59 para simular un timer de 60 segundos y que el conteo de dos dígitos BCD, sea desplegado en los displays
Más detallesEL EMU8086 Y EL MICROPROCESADOR 8086.
1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). EL EMU8086 Y EL MICROPROCESADOR 8086. Objetivos específicos
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 detallesFunciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina.
MIPS Funciones 1 Funciones Diseño de funciones. Uso de instrucción jal y retorno de subrutina. Se suelen denominar funciones, procedimientos, subrutinas, subprogramas a las estructuras que emplean los
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 detallesTema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.
Tema 2: Arquitectura del repertorio de instrucciones Visión del computador que tiene el programador en bajo nivel. Lo que el programador en lenguaje ensamblador debe conocer para escribir programas: (1)
Más detalles3.2 Operaciones aritmético-lógicas en Pascal
3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES
Más detallesINSTRUCCIONES ARITMÉTICAS.
Microprocesadores. Guía 4 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). INSTRUCCIONES ARITMÉTICAS. Objetivos
Más detallesOrganización Básica de un Computador y Lenguaje de Máquina
Organización Básica de un Computador y Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 Organización Básica
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 detallesExamen de Laboratorio de Estructura de Computadores I.T. Informática de Gestión / Sistemas. 16 de junio de 2010 Departamento de Automática ATC
ExamendeLaboratoriodeEstructuradeComputadores I.T.InformáticadeGestión/Sistemas.16dejuniode2010 DepartamentodeAutomática ATC Test (3 puntos) Pregunta correcta = 0,30 Pregunta no contestada = 0 Pregunta
Más detallesINSTRUCTIVO DEL COMANDO MAKE
INSTRUCTIVO DEL COMANDO MAKE Introducción Un programa escrito en C está normalmente compuesto por varios archivos. Estos archivos se van modificando según se va completando o cambiando el programa. Cada
Más detallesExamen de Arquitectura de Computadores 2 22 de febrero del 2011
Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Indique su nombre completo y número de cédula en cada hoja. Numere todas las hojas e indique el total de hojas en la primera. Escriba las
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 detallesMod. I, Unid. 1, Obj. 1 CRITERIO DE DOMINIO 1/1
MR. 316 Versión 1 Prueba Integral 1/5 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERIA MODELO DE RESPUESTA ASIGNATURA: MICROPROCESADORES CÓDIGO: 316 MOMENTO: INTEGRAL VERSIÓN: 01 FECHA
Más detallesEntre los más conocidos editores con interfaz de desarrollo tenemos:
Herramientas de programación Para poder programar en ensamblador se precisa de algunas herramientas básicas, como un editor para introducir el código, un ensamblador para traducir el código a lenguaje
Más detallesEstructuras de Datos y Algoritmos Tecnólogo en Informática
Estructuras de Datos y Algoritmos Tecnólogo en Informática INSTRUCTIVO DEL COMANDO MAKE ESTRUCTURAS DE DATOS Y ALGORITMOS - TECNÓLOGO EN INFORMÁTICA 1 Contenido Introducción... 3 El archivo makefile...
Más detallesConmutación de Tareas
Conmutación de Tareas Conmutación de tareas Expira el tiempo de ejecución asignado por el procesador a la tarea N El procesador almacena en memoria el estado de máquina (contexto) de la tarea N. El procesador
Más detallesTema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código
Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación
Más detallesLa arquitectura del 8086/8088
Repasamos aquí la arquitectura de un PC. Para más información sobre lo aquí expuesto se puede consultar [PA01] y los capítulos iniciales de [Tej01], [Rod00] y [Nor01]. Anatomía del PC A grandes rasgos,
Más detallesTema 5. Formato de instrucciones. Directivas, instrucciones de cadena y programas de varios módulos
Tema 5. Formato de instrucciones. Directivas, instrucciones de cadena y programas de varios módulos Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería
Más detallesLABORATORIO DE PROGRAMACIÓN EN LENGUAJE ENSAMBLADOR x86-16bits
LABORATORIO DE PROGRAMACIÓN EN LENGUAJE ENSAMBLADOR x86-16bits De la creación del programa al proceso en ejecución Objetivo El objetivo de esta práctica es conocer y diferenciar los conceptos de programa
Más detallesPROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES LENGUAJE MÁQUINA Y ENSAMBLADOR
PROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES EJERCICIO 1: Se tiene la siguiente instrucción del i80x86: MOV AL, Numero: S Se sabe que el contador de programa IP vale 6. S La instrucción ocupa 3 bytes. S
Más detallesIntroducción a la Programación 11 O. Humberto Cervantes Maceda
Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de
Más detallesExamen de teoría (5 puntos)
Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen constará de dos partes: 1ª parte: Test, con una puntuación de 5 puntos y 40 minutos de tiempo 2ª parte: Ejercicios prácticos, con una puntuación
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detalles10 En este caso indica la dirección GPIB del instrumento.
Práctica: Manejo de intrumentos a tavés del bus GPIB. Utilización de drivers de instrumentos, funciones básicas GPIB. Utilización de sesiones VISA (Virtual Instrument Software Architecture). En esta práctiva
Más detallesExamen de Laboratorio de Estructura de Computadores Septiembre 2005 I.T. Informática de Sistemas / Gestión Departamento de Automática ATC -
Test (3 puntos) Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 1) Cual de las siguientes afirmaciones es correcta? [_] a) En lenguaje máquina se representan las
Más detallesTema 6: Generación de código (parte 2)
Tema 6: Generación de código (parte 2) Procesamiento de Lenguajes Dept de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 6: Generación de código (parte 2) 1 /
Más detallesCentro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
Más detallesInstrumentación Virtual con LabVIEW
Instrumentación Virtual con LabVIEW ESTRUCTURAS ESTRUCTURAS WHILE FOR.. CASE SEQUENCE Opciones de selección de CASE Controles Visibles Variables Locales y Globales Personalizar controles 1.- ENTORNO DE
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 detallesTema 5: La pila, las macros y los procedimientos
Tema 5: La pila, las macros y los procedimientos S La pila S Las macros S Definición de procedimientos S Tipos de procedimientos: NEAR y FAR S Paso de parámetros a un procedimiento S Mediante registros
Más detallesPráctica 3: Programación con subrutinas
Práctica 3: Programación con subrutinas 3.1 Objetivos El objetivo de esta práctica es estudiar el soporte del ensamblador del ARM para la gestión de subrutinas, para lo que resulta necesario familiarizarse
Más detalles(2) Unidad 2. Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM
(2) Unidad 2 Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática EPS - UAM (2) Índice 2. Modelo de programación del 80x86 de Intel. 2.1. Familia
Más detallesREPROGRAMACION DEL MOTOR ANTIVIRUS DE SEGURMATICA
REPROGRAMACION DEL MOTOR ANTIVIRUS DE SEGURMATICA Francisco Ávila González Jorge Lodos Vigil Edgar Guadis Salazar Institución: Segurmatica. Empresa de Consultoría y Seguridad Informática. Zanja No. 651
Más detallesEntorno de Ejecución del Procesador Intel Pentium
Arquitectura de Ordenadores Arquitectura del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Entorno de Ejecución del Procesador
Más detallesUNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA
UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA TÉCNICAS DIGITALES III TRABAJO PRÁCTICO N 3 ENLACE DE RUTINAS DE ASSEMBLER EN UN LEGUAJE DE ALTO NIVEL COMO C AÑO
Más detallesLa memoria principal. Los subsistemas de E/S. Los buses del sistema
GUIA 23: MEMORIA E/S La estructura básica de la mayoría de los ordenadores actuales se representa mediante los siguientes elementos básicos: La Unidad Central de Procesamiento, CPU La memoria principal
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 detallesArquitectura de Computadores
Arquitectura de Computadores Ricardo.Sanz@upm.es Curso 2004-2005 Arquitectura de Computadores Arquitectura de computadores es la disciplina que estudia la organización y funcionamiento de los computadores
Más detallesSobre cómo dividir un programa ensamblador x86 (modo Real) en módulos compilables por separado.
Sobre cómo dividir un programa ensamblador x86 (modo Real) en módulos compilables por separado. Fuente de la información de partida para este documento: http://homepage.mac.com/eravila/asmix86.html PRIMERO
Más detallesTema 2: Programación de PLCs
Tema 2: Programación de PLCs 1. STEP 7 2. PROGRAMACIÓN BÁSICA AWL Introducción Operaciones lógicas a nivel de bit Marcas Simbólicos Flancos Temporizadores Diagnosis e información del sistema Contadores
Más detallesInstructivo de Microsoft Excel 2003
Instructivo de Microsoft Excel 2003 El presente instructivo corresponde a una guía básica para el manejo del programa y la adquisición de conceptos en relación a este utilitario. Que es Microsoft Excel?
Más detallesSISTEMAS BASADOS EN MICROPROCESADORES
SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática Escuela Politécnica Superior UAM COLECCIÓN DE PROBLEMAS DE LOS TEMAS 1.1 A 2.6 P1. Suponiendo que CS=0000h, DS=1000h, ES=FFFFh, SS=2000h,
Más detallesCON LOS VALORES ASCII
PRÁCTICA 6 FAMILIARIZARSE CON LOS VALORES ASCII DE TODAS LAS FUNCIONES DEL TECLADO. INTRODUCCIÓN La práctica siguiente está enfocada a que el alumno se familiarice con los valores ASCII de todas las funciones
Más detallesUnidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8.
Unidad III 1. Introducción. 2. Breve historia del C. 3. Lenguajes de programación de alto nivel, bajo nivel y nivel medio. 4. Compiladores e intérpretes. 5. Compilación, enlace y generación de un programa
Más detallesIntroducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Más detallesEjercicio 1. Desarrollar un pequeño juego para practicar mecanografía.
Examen Curso 2001-2002. Convocatoria de Febrero Página 1 Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía. Este ejercicio se divide en dos partes con el fin de que el alumno no intente
Más detallesCAPÍTULO 3 PROGRAMACIÓN EN AMBIENTE DE PC
66 CAPÍTULO 3 PROGRAMACIÓN EN AMBIENTE DE PC 3.1 EL SISTEMA OPERATIVO El sistema operativo (SO) provee el ambiente para que otros programas se ejecuten. En las computadoras que tienen múltiples usuarios,
Más detallesPráctica 4. Introducción a la programación en lenguaje ensamblador
Enunciados de prácticas Práctica 4. Introducción a la programación en lenguaje ensamblador Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Práctica 4:
Más detallesEXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES
6 de febrero de 2008. 16 h. Escuela Técnica Superior de Ingeniería Informática Camino del Cementerio s/n. 47011 Valladolid EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES NOTA: Los alumnos con las prácticas
Más detallesBUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE
BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE Fernando Nuño García 1 Ventajas del BUS I2C Definido inicialmente a mediados de los 80 para trabajar a 100kbit/s y en 1995
Más detallesOpciones disponibles para arrancar MAX
Funcionamiento Básico de la Tarjeta de Protección Los equipos disponen de una tarjeta de protección de disco duro que permite guardar y restaurar los sistemas operativos instalados en los mismos, en este
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 detallesRequerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso
Requerimientos Principales de un Sistema Operativo Descripción y Control de Procesos Capítulo 3 Entrelazar la ejecución de varios procesos para maximizar el uso del procesador a la vez que se mantiene
Más detallesGestion de archivos. Problemas al almacenar datos sólo en la memoria:
Gestion de archivos Problemas al almacenar datos sólo en la memoria: 1. El tamaño está limitado por el tamaño de la memoria qué pasa con aplicaciones que necesiten acceder a gran cantidad de información?
Más detallesTEMA 5: HOJAS DE CÁLCULO. Edición de hojas de cálculo con OpenOffice Calc
TEMA 5: HOJAS DE CÁLCULO Edición de hojas de cálculo con OpenOffice Calc Qué vamos a ver? Qué es una hoja de cálculo y para qué sirve El entorno de trabajo de OpenOffice Calc Edición básica de hojas de
Más detallesParámetro de entrada. Un parámetro pasado del procedimiento que hace la llamada al procedimiento invocado.
CAPITULO 12 PROCEDIMIENTOS En el capítulo 6, aprendiste como utilizar un programa con procedimientos, en este capítulo aprenderás a usar las directivas e instrucciones que definen y llamas procedimientos.
Más detallesTEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)
1. Introducción. TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE) El Explorador es una herramienta indispensable en un Sistema Operativo ya que con ella se puede organizar y controlar los contenidos (archivos
Más detallesCapitulo V Administración de memoria
Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal
Más detallesCómo nombrar variables ( 2&
&'()*+,, *)-.&'*/0+!" #$ # http://www.escet.urjc.es/~aiiq/ Introducción a Visual Studio.NET Aprendiendo el IDE de Visual Basic.NET Elementos del lenguaje. Variables y estructuras de datos Introducción
Más detallesIntroducción. Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales
Introducción Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl
Más detallesSOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
Más detallesConcurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Más detallesProgramación Avanzada para Sistemas de Telecomunicación Arrays
Programación Avanzada para Sistemas de Telecomunicación Arrays Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Introducción. Vectores de datos primitivos. Vectores de objetos. Introducción En
Más detallesSe guardan en archivos con extencion c y los cabezales con extension h
Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767
Más detallesUn puntero no es más que una variable estática cuyo contenido es una dirección de memoria.
Los punteros en C 1 Introducción Cómo se organiza la memoria asociada a un programa? Como una colección de posiciones de memoria consecutivas. En ellas se almacenan los distintos tipos de datos, que ocupan,
Más detallesPráctica 1: Sencillo Juego en Ensamblador
Práctica 1: Sencillo Juego en Ensamblador El objetivo de esta práctica es aprender a programar usando el ensamblador 8086 y, en particular, aprender a utilizar las interrupciones de la BIOS y de MSDOS
Más detallesTema 8. Directivas y programas complejos
Tema 8. Directivas y programas complejos Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 34 Índice Instrucciones de manejo de cadenas
Más detallesExamen de teoría (5 puntos)
Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen constará de dos partes: 1ª parte: Test, con una puntuación de 5 puntos y 30 minutos de tiempo 2ª parte: Ejercicios prácticos, con una puntuación
Más detallesEL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET
1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET Cada capa de la pila añade a los datos a enviar a la capa inferior, información de control para que el envío sea correcto. Esta información
Más detallesHP Backup and Recovery Manager
HP Backup and Recovery Manager Manual de usuario Version 1.0 Índice Introducción Instalación Cómo se instala Opciones de idioma HP Backup and Recovery Manager Recordatorios Copias de sguridad programadas
Más detallesEstructura de Computadores
Estructura de Computadores 4.- Programación en Ensamblador Parte IV Contenido Subrutinas. Llamadas al sistema. Página 2 Subrutinas Módulos de programa que pueden reutilizarse en distintos puntos del programa.
Más detallesManual Impress Impress Impress Impress Impress Draw Impress Impress
Manual Impress Se puede definir Impress como una aplicación dirigida fundamentalmente a servir de apoyo en presentaciones o exposiciones de los más diversos temas, proyectando una serie de diapositivas
Más detallesVisual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario
Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),
Más detallesINSTRUCCIONES. LA ENERGIA DE LA MAQUINA Fundamentos de Computadores Capítulo segundo
INSTRUCCION LA ENERGIA DE LA MAQUINA Fundamentos de Computadores Capítulo segundo Departamento de Automática. Area de Arquitectura y Tecnología de Computadores. INTRODUCCION Computador: se limita a ejecutar
Más detallesUNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS
UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS CICLO: 01/ 2014 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: Materia: Docentes: GUIA DE LABORATORIO #05 Trabajando con Formularios.
Más detallesTiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador.
ORGANIZACIÓN DE LA MEMORIA EN TIEMPO DE EJECUCIÓN Compilador Tiempo de Compilación Programa fuente Secuencia de caracteres Scanner Secuencia de símbolos Parser Árbol sintáctico Analizador semántico Generador
Más detallesLa ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Más detallesTEMA II: REPRESENTACIÓN DE LA INFORMACIÓN
TEMA II: REPRESENTACIÓN DE LA INFORMACIÓN 2.1. Introducción. El computador procesa información. Para que un ordenador ejecute unos datos es necesario darle dos tipos de información: las instrucciones que
Más detalles