Sobre cómo dividir un programa ensamblador x86 (modo Real) en módulos compilables por separado.
|
|
- Susana Pérez Lozano
- hace 7 años
- Vistas:
Transcripción
1 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: PRIMERO El objetivo de este documento es describir de una forma práctica cómo dividir un programa ensamblador en archivos separados que pueden ser ensamblados por separado y luego deben ser linkados para formen una unidad ejecutable. Está descrito desde la ignorancia teórica de muchos aspectos y la experiencia práctica de unos pocos. Parto de que quiero escribir un programa ensamblador relativamente largo, por lo que me gustaría poder trabajar con varios archivos separados, de manera que en un archivo tenga el programa principal y en otros archivos las diversas rutinas que se invocan desde éste. Podría, por ejemplo, separar las rutinas dedicadas a los asuntos de pantalla en un archivo, las rutinas dedicadas a los asuntos de procesamiento de datos en otro, etc. En mi ejemplo, me he creado un archivo principal, main.asm que se limita a llamar a una rutina que imprime un texto en pantalla. Pero esta rutina print, no está en el actual archivo sino en otro llamado module.asm. He complicado un poco la cosa haciendo que en la invocación a print en main, el texto que se imprima sea la mitad de una frase. La siguiente instrucción después de la invocación es un salto a una etiqueta resto que también está en module. Con esto pretendo conseguir que el flujo del programa comience ejecutándose en este archivo main luego salte a ejecutar código que está en el archivo module y por último regrese a main para terminar. El código que se escribió en module a partir de la etiqueta resto vuelve a invocar a la rutina print y se espera que ahora se imprima el resto de la frase. En primer lugar, las etiquetas print y resto no están en el archivo main.asm, por lo que el ensamblador las va a echar de menos. Es por eso que utilizamos la directiva. Con esta directiva le indicamos al ensamblador que esas etiquetas están definidas en otro archivo, de manera que el ensamblador esperará a el lincado para resolverlas. Obsérvese cómo hemos declarado ambas etiquetas detrás de la directiva, y que tras cada etiqueta, separado por dos puntos hay un indicador: far. Estos indicadores son obligatorios y nos indican que ambas etiquetas están en otro segmento, por lo que preparamos al ensamblador para que al construir la dirección de salto se haga con una dirección de segmento y un desplazamiento (en el caso de que la declaración fuera near, el no haría falta más que el desplazamiento puesto que se asume que el segmento es el mismo del proceso actual, ya en CS).
2 A continuación defino el segmento de datos y el de código de la manera corriente para realice lo que se pretende, no hay mucho que destacar salvo que he sacado fuera de print la inicialización de DX (la dirección del texto que deseo imprimir). Debo recordar que print invoca a la función 9h de la INT 21h, que imprime un texto en pantalla y que esta rutina asume que la dirección del texto a imprimir viene indicada en DS:DX por lo que en el programa se inicializa el registro DS para que apunte al segmento de datos de este módulo y DX para que apunte al comienzo del texto a imprimir (recordar que el final del texto a imprimir es el $ ). Como se puede verificar, al ejecutar este código se invocará a print escribirá en pantalla el texto Esta es la reina y luego salta a la etiqueta resto que está en el archivo module.asm; a él vamos ahora. En este archivo hemos vuelto a definir un segmento de datos y un segmento de códigos. Aunque tienen los mismos nombres que en archivo main.asm el ensamblador va a saber distinguirlos como cosas distintas porque mantiene listas separadas de símbolos. No va a ocurrir lo mismo con los símbolos definidos como y. Como se ve, en este archivo hemos definido como la etiqueta exit. Ello es porque dentro del código escrito en este archivo saltamos a esta etiqueta que está en el archivo main.asm. De nuevo estamos diciéndole al ensamblador que no se preocupe si no encuentra esta etiqueta dentro de este archivo, que seguro que está definida en otro lado, como en efecto así nos hemos asegurado definiendo como esta etiqueta en main.asm. Por otro lado, para corresponder a la declaración de print y resto como en main.asm, declaramos aquí esas etiquetas como. Otro detalle que es relevante es la necesidad de declarar el procedimiento print como far y de no olvidar terminar con un retf. Es importante esta declaración para que la llamada al procedimiento y su retorno se haga correctamente, escribiendo en la pila tanto el segmento como el desplazamiento de la dirección de retorno cuando se haga la invocación y recuperando de la pila ambos elementos cuando se produzca el retorno. Observamos el detalle de que, de nuevo, antes de invocar a print en module.asm, debemos redefinir el contenido de DS para que cuando invoquemos a la rutina de impresión en pantalla el texto que imprima sea el que está declarado en el segmento de datos de este módulo que, como hemos dicho, es distinto del segmento de datos declarado en main.asm aunque tengan el mismo nombre. Y listo, cuando la ejecución del programa comenzado en main.asm salte a la etiqueta resto, reinicializará DS y DX, invocará a print para que escriba de Africa\n y luego saltará a la etiqueta exit, volviendo a main.asm, en donde terminará la ejecución invocando a la función 4Ch de la INT 21h. DETALLES Cada archivo se ensambla por separado: Tasm main.asm Tasm module.asm Luego se enlazan juntos
3 Tlink main.obj module.obj En principio el orden no debería importar. Solo uno de los módulos debe terminar con una etiqueta de comienzo de ejecución, en nuestro caso está en main, que termina: END start SEGUNDO En el ejemplo de arriba hemos creado dos archivos en los que hemos definido un segmento de datos y un segmento de código separados. Por ello hemos utilizado las definiciones de FAR. El programa que se cree va a constar realmente de 4 segmentos, dos de código y dos de datos, uno de cada por cada uno de los archivos que hemos creado. (la creación del segmento de pila dejamos que se cree por defecto). En este segundo ejemplo vamos a crear dos archivos con secciones de código separadas, pero cuando vayan a ser montados se considerarán un único segmento de código, un único segmento de datos y un único segmento de pila. Los archivos son externo.asm, que contendrá el comienzo de la ejecución y public.asm, que contendrá la parte secundaria. En primer lugar destacar que en externo.asm hemos definido como la etiqueta exit y como las etiquetas print y resto, pero esta vez ambas están definidas como near. También destacar que ahora las definiciones de segmentos también están marcadas, por ejemplo, el segmento stake que va a ser el de pila es marcado como Word stack STACK, el segmento que será el de datos indica Word public DATA y el segmento que será el de código dice byte puclic CODE. Si observamos ahora el archivo public.asm veremos, aparte de la correspondencia con externo.asm en las definiciones de y la misma correspondencia en la definición de los segmentos. Desde el desconocimiento, tan sólo la intuición, aventuro a explicar que Word public DATA y Word public CODE es la manera en que se está diciendo que ambos segmentos de datos van a formar parte del mismo segmento de datos en el programa final, es decir, que van a conformar un único segmento. Es por ello que no es necesario, por ejemplo, describir la rutina print como far. DETALLES Cada archivo se ensambla por separado: Tasm externo.asm Tasm public.asm Luego se enlazan juntos. Tlink externo.obj public.obj En principio el orden no es relevante, asegurándose que uno solo de los módulos contiene al final la etiqueta de comienzo de ejecución, en este caso externo.asm
4 END start
5 ANEXO Reina main exit print:far, resto:far db "Esta es la reina",'$' ASSUME cs:, ds: start: mov ax, mov ds,ax ; carga localizacion del segmento ; en el registro DS mov dx, offset Reina jmp resto ; va a PRINT en el otro modulo exit: mov ah,4ch int 21h END start module print, resto exit:far demas DB " de Africa",13,10,"$" ASSUME cs:, ds: print proc far
6 mov ah, 09h int 21h retf endp resto: mov ax, mov ds, ax mov dx, OFFSET demas jmp exit ; Regresa al otro modulo END stacke externo exit print:near, resto:near word stack 'STACK' DW 64 DUP(?) stacke word public 'DATA' entrada DB "Entrando a un submodulo...",13,10,"$" byte public 'CODE' ASSUME cs:, ds: start: mov ax, mov ds,ax ; carga localizacion del segmento ; en el registro DS mov dx, offset entrada jmp resto ; va a PRINT en el otro modulo
7 exit: mov ah,4ch int 21h END start public print, resto exit:near word public 'DATA' salida DB "...saliendo del submodulo.",13,10,"$" byte public 'CODE' ASSUME cs:, ds: print proc mov ah, 09h int 21h ret endp resto: mov dx, OFFSET salida jmp exit ; Regresa al otro modulo END
ENSAMBLADOR 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 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 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 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 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 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 detallesPRACTICA #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 detallesAlternativas de programación
Alternativas de programación Enteramente en bajo nivel programa completo librería rutina particular Embebido en alto nivel rutinas librería 1 Alternativas de programación Enteramente en bajo nivel programa
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 detallesArquitectura de Computadores II 8086 Parte II
8086 Parte II Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Funciones recursivas Manejadores de dispositivos Rutinas recursivas(1/10) Introducción Salvar contexto.
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 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 detallesAPUNTES DE LENGUAJE ENSAMBLADOR. Lenguaje ensamblador
Lenguaje ensamblador Compiladores y Ensambladores Tanto los compiladores como los Ensambladores caen en la categoría de programas que llamamos traductores. Un traductor es un programa que acepta archivos
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 detallesTodo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
Más detallesFunciones como Subprogramas en C++
FUNCIONES Cuando es necesario escribir programas complicados para resolver problemas complejos, una práctica común entre los programadores es descomponer el algoritmo (el diagrama de flujo) en varias partes.
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 detalles[etiqueta:] REP MOVSn
INSTRUCCIONES DE CADENA Instrucción MOVSn MOVS mueve un byte, palabra o palabra doble desde una localidad en memoria a otra. Se carga la dirección de los operandos en los registros DI (Apuntador a la cadena
Más detallesCONALEP TEHUACÁN 150. INSTALACIÓN DE SISTEMAS MICROPROCESADOS. GRUPO 309 SOMA UNIDAD 2. INTRODUCCIÓN A LA PROGRAMACIÓN EN LENGUAJE ENSAMBLADOR
CONALEP TEHUACÁN 150. INSTALACIÓN DE SISTEMAS MICROPROCESADOS. GRUPO 309 SOMA UNIDAD 2. INTRODUCCIÓN A LA PROGRAMACIÓN EN LENGUAJE ENSAMBLADOR Programas a explicar: 1. Hello World.asm 01 02 03 org 100h
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 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 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 3: El teclado del PC
Práctica 3: El teclado del PC Gustavo Romero López Arquitectura y Tecnología de Computadores 7 de junio de 2016 Gustavo Romero López Práctica 3: El teclado del PC 1 / 11 Objetivos Objetivos: Fuentes: Recordar
Más detallesP1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente:
Problemas P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente: ascii DB 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 7_segm DB 3fh,06h,,71h el núcleo del código sería: mov dl, al lea
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 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 detallesmedia = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( "\nla temperatura media es %f\n", media );
Arrays en el lenguaje C Introducción Una posible definición de array sería: Un conjunto de datos del mismo tipo, identificados por el mismo nombre, y que se pueden distinguir mediante un número de índice.
Más detallesIniciación del mouse El servicio utilizado es el 00, este servicio inicializa el controlador del mouse como sigue:
Esta es una interrupción de DOS y ayuda a controlar el uso del mouse. Se puede establecer el uso del ratón en modo texto y en modo gráfico. Para hacer uso del mouse se debe establecer el modo de video,
Más detallesTema 5. Presentación de datos por pantalla
Tema 5. Presentación de datos por pantalla Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 24 Índice El registro de flags del i8086
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 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 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 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 detallesTema 2. Presentación de datos por pantalla. La ROM-BIOS
Tema 2. Presentación de datos por pantalla. La ROM-BIOS Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Tema 2: Presentación
Más detallesInstrucción De Salto Incondicional
INSTRUCCIONES DE CONTROL DE FLUJO Los programas que se han desarrollado hasta ahora se ejecutan en forma secuencial, esto es, el programa inicia su ejecución con la primera instrucción y continúa de arriba
Más detallesTema 3. Aplicaciones de Tipo Consola
Tema 3. Aplicaciones de Tipo Consola Una aplicación de consola es aquella que se ejecuta dentro de una ventana de línea de comandos. Este tipo de ventana recibe diferentes denominaciones: Símbolo del sistema,
Más detallesIngeniería en Sistemas. Sistemas Operativos. Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador.
Sistemas Operativos Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador. Modalidad: Obligatorio. Objetivos: Abordar la materia Sistemas Operativos desde el
Más detallesPrototipado, instancias e historia de un proceso
Prototipado, instancias e historia de un proceso En los videos anteriores sobre Automatización, utilizamos objetos del tipo transacción, para registrar la reserva de pasajes y crear al pasajero como cliente
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 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 detallesInstrucciones de Control de Flujo y Usos de la Pila
1 Instrucciones de Control de Flujo y Usos de la Pila Objetivos Generales Facultad: Estudios Tecnologicos. Escuela: Electrónica Asignatura: Microprocesadores Analizar la forma en que se ejecutan algunas
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 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 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 2.7 A 5.4 P1. Si SP=0006h y FLAGS=0210h al inicio de la ejecución
Más detallesAlgoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira
Informática IV Algoritmos Diagramas de Flujo L. S. C. Heriberto Sánchez Costeira Algoritmos 1 Definición Es una serie finita de pasos o instrucciones que deben seguirse para resolver un problema. Es un
Más detallesEjecuta el modo XP sin virtualización de hardware
Una de las características más limpias nuevo en Windows 7 orgánico y categorías superiores es el modo de XP, pero no todas las máquinas son capaces de ejecutarlo. Hoy te mostramos cómo utilizar VMware
Más detallesRelación de Problemas I
Relación de Problemas I 352) $1'5e6 52/'È1 $5$1'$ 1. Realizar el cálculo del tiempo que transcurre durante la ejecución del bloque de instrucciones sombreado, en función del contenido de los registros
Más detallesTema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía
Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento
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 detallesManual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
Más detallesTodos los comandos de DEBUG se invocan usando una sola letra y son los siguientes:
USO DE DEBUG Con el sistema operativo DOS (MS-DOS = Microsoft Disk Operating System) se incluye un programa para observar el comportamiento de los registros del CPU 80386. Recuérdese que los registros
Más detallesMétodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo
TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para
Más detallesEn este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.
El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos
Más detallesESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF
ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un
Más detallesTema: Clases y Objetos en C#. Parte II.
Programación II. Guía No. 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C#. Parte II. Objetivos Implementar clases, objetos, propiedades, métodos y
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 detallesPráctica Nº 4 Entorno de Programación
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DE LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA DEP. DE ING. ELECTRÓNICA LABORATORIO DE ARQUITECTURA DEL COMPUTADOR Objetivos:
Más detallesDesarrollo de Programas Residentes en base a un TSR genérico
Desarrollo de Programas Residentes en base a un TSR genérico Ing. Eduardo Vega Alvarado Jefe del Departamento de Laboratorios Ligeros del CINTEC-IPN E l presente artículo inicia una serie de trabajos sobre
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 5.5 A 7.2 P1. Escribir una rutina de ensamblador que se quede
Más detallesPráctica 4. Lenguaje máquina y lenguaje ensamblador
Enunciados de prácticas Práctica 4. Lenguaje máquina y lenguaje ensamblador Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Práctica
Más detallesCOMBINAR CORRESPONDENCIA
COMBINAR CORRESPONDENCIA Microsoft Office Word nos provee una herramienta muy útil que nos permite incluir en un documento, datos que se encuentran almacenados en otro lugar. De esta forma logramos obtener
Más detallesFUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería
Más detallesIntroducción al ensamblador 80x86
Introducción al ensamblador 80x86 Por: Sadot Alexandres Fernández Colaboran: Carlos Rodríguez Morcillo, Javier Goyanes. Departamento de Electrónica y Automática Escuela Técnica Superior de Ingeniería Universidad
Más detallesTema 4. Lenguaje máquina y lenguaje ensamblador
Tema 4. Lenguaje máquina y lenguaje ensamblador Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 47 Índice Introducción Juego de instrucciones Estructura
Más detallesPráctica 2: Sector de arranque
Práctica 2: Sector de arranque Gustavo Romero López Arquitectura y Tecnología de Computadores 7 de junio de 2016 Gustavo Romero López Práctica 2: Sector de arranque 1 / 13 Objetivos Creación de un sector
Más detallesINTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Más detallesJava Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
Más detallesMANEJO DEL MOUSE EN LENGUAJE C++
MANEJO DEL MOUSE EN LENGUAJE C++ Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo Reforma Sur 2007, C.P. 88250, Nuevo Laredo, Tamps. México http://www.itnuevolaredo.edu.mx/takeyas E-mail: takeyas@itnuevolaredo.edu.mx
Más detallesDiagramas de secuencia
Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Interacciones básicas 1 Para qué sirven los diagramas de secuencia? 2 Para qué sirven los diagramas de
Más detallesEJEMPLOS EN ENSAMBLADOR
EJEMPLOS EN ENSAMBLADOR Introducción El lenguaje ensamblador como cualquier lenguaje de programación es un conjunto de palabras que le indican al ordenador lo que tiene que hacer. Sin embargo la diferencia
Más detallesTAREA 1 ARITMETICA PARA BCD Y ASCII.
1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. TAREA 1 ARITMETICA PARA BCD Y ASCII. Objetivos específicos Conocer el manejo de los caracteres ASCII para la presentación en
Más detallesIntroducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones
Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina
Más detallesMANUAL PARA COMBINAR CARTAS POR CORRESPONDENCIA
MANUAL PARA COMBINAR CARTAS POR CORRESPONDENCIA Mileinys Agudelo Hernández 26/05/2011 MANUAL PARA COMBINAR CARTAS POR CORRESPONDENCIA 2 TABLA DE CONTENIDOS 1. Portada 2. Tabla de contenidos 3. Introducción
Más detallesUso de Tecnologías de Información y Comunicación en la labor Docente El procesador de texto para producir material didáctico
Sesión #1 Temas: Formato de texto y párrafo Imágenes Tablas SmartArt Autoformas Duración: 2 hrs. Modalidad: taller presencial Guía de trabajo Tema #1: formato de texto y párrafo Microsoft Word es un procesador
Más detallesMANUAL DE USUARIO MODULO DE ACTIVOS FIJOS
MANUAL DE USUARIO MODULO DE ACTIVOS FIJOS Derechos Reservados 2001-2016 1 CONTENIDO Pág. 1. COMO INGRESAR A AL MODULO DE ACTIVOS FIJOS 2. ELEMENTOS DE LA INTERFAZ DEL SISTEMA. 5 3. MENÚ TABLAS 7 3.1 Tipos
Más detallesTema: Introducción al IDE de Microsoft Visual C#.
Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más
Más detallesFUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)
APRENDERAPROGRAMARCOM FUNCIONES PHP: DECLARACIÓN Y LLAMADAS PARÁMETROS, RETURN EJERCICIOS EJEMPLOS RESUELTOS (CU00827B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero Fecha
Más detallesCREACIÓN DE SOBRES, ETIQUETAS Y CARTAS PERSONALES
CREACIÓN DE SOBRES, ETIQUETAS Y CARTAS PERSONALES CREACIÓN DE SOBRES Y CARTAS SIN COMBINAR CON DATOS Antes de comenzar a hablar de la combinación de correspondencia, vamos a ver cómo crear sobres o etiquetas
Más detallesCLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B)
APRENDERAPROGRAMAR.COM CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero
Más detallesTema 13: Apuntadores en C
Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción
Más detallesProgramación MODULAR: Subalgoritmos - funciones y procedimientos
Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas
Más detalles8.4. El software en los μprocesadores
8.4. El software en los μprocesadores Ejemplo de comandos de la CPU: Tarea: Sumar dos números A y B. Suponer los datos A y B almacenados en las posiciones 1000 2 y 1010 2 respectivamente. El resultado
Más detallesI. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro
I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro Lectura de Datos Dentro de un applet es sencillo tomar algún dato del usuario para realizar
Más detallesTema 4: Lenguaje máquina - Lenguaje ensamblador
Tema 4: Lenguaje máquina - Lenguaje ensamblador S Introducción S Modos de direccionamiento: S Juego de instrucciones: S Direccionamiento inmediato S Instrucciones de transferencia S Direccionamiento directo
Más detallesFACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Estructuras de decisión PRÁCTICA NÚM. [ 5 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje
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 detallesGenerador de analizadores léxicos FLEX
Generador de analizadores léxicos FLEX Procesadores de Lenguajes 4 o Informática PL curso 2008-2009 (CCIA) CCIA Octubre 2008 PL 0809 (CCIA) Introducción a FLEX Octubre-2008 1 / 12 Uso de FLEX FLEX: traduce
Más detallesDebug en Windows 7 x64 con DOSBox
Debug en Windows 7 x64 con DOSBox Francisco Daniel García Noriega Introducción a DOSBox y práctica de ensamblador con debug en Windows 7 de 64 bits Contenido Introducción a DOSBox... 2 Atajos de teclas
Más detallesAsignatura: ASSEMBLER INF-153 LABORATORIO 1
UNIVERSIDAD MAYOR DE SÁN ANDRES FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA Asignatura: ASSEMBLER INF-153 LABORATORIO 1 Catedrático: Ms.C. Carlos Mullisaca Choque 12 de agosto de 2009
Más detallesUNIDAD 4. MODIFICAR TABLAS DE DATOS
UNIDAD 4. MODIFICAR TABLAS DE DATOS Aquí veremos las técnicas de edición de registros para modificar tanto la definición de una tabla como los datos introducidos en ella. Esta unidad está dedicada, principalmente,
Más detallesEditor de código Visual Basic. Lista de miembros automática, sugerencias de sintaxis, autocompletado y otras opciones. (CU00313A)
aprenderaprogramar.com Editor de código Visual Basic. Lista de miembros automática, sugerencias de sintaxis, autocompletado y otras opciones. (CU00313A) Sección: Cursos Categoría: Curso Visual Basic Nivel
Más detallesLA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)
APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
Más detallesApuntadores en C y C++
Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta
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 detallesTécnicas de Programación
Técnicas de Programación 2.1.- Introducción: unos conceptos previos y primeros conceptos de la API Introducción La resolución de un problema con medios informáticos implica generalmente la siguiente secuencia
Más detallesArquitectura de Computadores II Introducción al 8086
Introducción al 8086 Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Generalidades 80x86 Modos de direccionamiento Set de instrucciones Assembler Compilando algunos
Más detallesPrincipios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación
Más detallesArquitectura (Procesador familia 80 x 86 )
Arquitectura (Procesador familia 80 x 86 ) Diseño de operación Basada en la arquitectura Von Newman Memoria CPU asignadas direcciones I / O BUS: Es un canal de comunicaciones Bus de direcciones: Contiene
Más detallesPráctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros
Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros
Más detallesLección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos
Lección 2: Creando una Aplicación en Java 1. Estructura del archivo de una clase 2. Usando una clase 3. Definiendo clases fundamentos Objetivos Conocer: La forma en la cual está se está estructurado el
Más detalles