MOVE.W #$6728,D0 MOVE.W #100,D1 BUCLE SUB.W #$02A6,D0 SUBQ.W #1,D1 BNE BUCLE END D0 100 D1 (D0)-678 D0 (D1)-1 D1. No (D1)==0?

Documentos relacionados
MODOS DE DIRECCIONAMIENTO

Calcule el cociente y el resto de la división $E8/$2A, con datos expresados en hexadecimal.

Bus de direcciones. Bus de datos

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA ELECTRÓNICA PRÁCTICA 1: ESTRUCTURA INTERNA DE UNA CPU.

FUNDAMENTOS DE COMPUTADORES

FUNDAMENTOS/INTRODUCCIÓN DE COMPUTADORES A - OBJETIVOS

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

Titulación: Grado en Ingeniería Informática Asignatura: Fundamentos de Computadores

Representación de la información Ejercicios resueltos

Organización de Computadoras. Clase 6

Práctica ENS:Ensamblar y depurar

Tema 2: Introducción a los Computadores

Estructura y tecnología de computadores - prácticas en ensamblador

1. o (Plan Nuevo) ASIGNATURA: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I (Sistemas: Código: ) 1. EQUIPO DOCENTE 2. OBJETIVOS

Organización de Computadoras. Clase 3

ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES I

Microprocesadores, Tema 3:

SUMA DESPLAZAMIENTO. Comprobación: = =216. Multiplicar 12 x 18 (resultado 216)

Organización de computadoras. Clase 5. Universidad Nacional de Quilmes. Lic. Martínez Federico

PRÁCTICAS MICROPROCESADORES

Aritmética de Enteros

Los números naturales y enteros en el 80X86 y en LAN

ARQUITECTURA VON NEUMANN

Formato. Microcontroladores DURACIÓN. Revisó. Aprobó. Coordinador. r de la Carreraa. Gestión de la Calidad. Maestro. Autorizó PLAN DE ESTUDIO

Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017

SUMADOR RESTADOR DE 3 BITS EN BINARIO NATURAL.

Ejercicio. Solución. Banderas. Banderas. Banderas 05/10/2011 UNIDAD 5 2 A PARTE PROGRAMANDO EN EL ENSAMBLADOR DEL Z80

Sector de arranque. Introducción a la programación para ingeniería de computadores. Gustavo Romero López. Arquitectura y Tecnología de Computadores

TEMA 3: El proceso de compilación, del código fuente al código máquina

MEMORIA EJERCICIO 1 EJERCICIO 2

EXAMEN EXTRAORDINARIO DE ORGANIZACIÓN DE COMPUTADORES

UNIDAD I CONCEPTOS GENERALES. Conceptos Generales Microprocesadores Otoño 2011

APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES

El conjunto de dígitos que forma una instrucción se puede dividir en dos partes: Código de Operación y Campo/s de Dirección:

Representación de enteros

Examen de teoría (5 puntos)

LA CESIUS. Dónde estamos?

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Práctica 6. El procesador

5 - Lenguaje Ensamblador

Práctica 2: Sector de arranque

Práctica 2: Sector de arranque

Práctica de Estructura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2010/2011

UNIVERSIDAD DE CASTILLA LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA. CIUDAD REAL

9. Lenguaje ensamblador

Examen de S.E.T.I. 1er curso de Ingeniería Electrónica 26 de junio de 2001

Comparaciones en lenguaje ensamblador

Se detecta cuando el resultado requiera n+1 bits siendo que la representación solo utiliza n bits.

EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES

Registros de direcciones de 32 bits A0 a A7 (A7 puntero de pila SP)

ARQUITECTURA DE COMPUTADORES

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86)

Tema 3. Operaciones aritméticas y lógicas

Examen de teoría (5 puntos)

Conceptos de Arquitectura de Computadoras Curso 2015

Guía resumida para configurar un sistema Linux virtualizado y ejecutar Simusol

ARQUITECTURA DE ORDENADORES

PRACTICA 4. REALIZAR ENCENDIDO-APAGADO DE DIODOS LED

Lógica Computacional. Aritmética binaria

Arquitectura del CPU. Organización del Computador 1 Verano 2016

Ejercicios resueltos de Organización de Computadoras

Tema 3. Operaciones aritméticas y lógicas

MICROCONTROLADOR PIC DE MICROCHIP

LABORATORIO DE COMPUTADORAS

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II BOLETÍN 4 MICROPROCESADOR MC 68000

Nombre del documento Fecha de elaboración Código Versión. Tecnología en Electrónica. Microprocesadores y Microcontroladores. Aplicada de la Ingeniería

Computadores y Redes de Computadores. Práctica de Laboratorio: Software

Organización de Computadoras Apunte 1: Sistemas de Numeración: Sistemas Enteros y Punto Fijo

Guía práctica de estudio 06: Lenguaje binario

Un. VIII. Generación de Código Objeto

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Examen de Fundamentos de Ordenadores. 9 de junio de 2005 PRIMERA PARTE (SIN LIBROS)

CAPÍTULO 4. ALGORITMO DE IDENTIFICACIÓN

PROGRAMACIÓN: UNIDAD I METODOLOGIA PARA LA SOLUCIÓN DE PROBLEMAS BASADOS EN COMPUTADORA

El equivalente en decimal V de un número binario se puede conocer usando la siguiente formula: n 1 d i {0,1}

TEMA 1: Conceptos generales. 1.- Representa los primeros 16 números decimales (del 0 al 15) usando codificación binaria y hexadecimal.

SISTEMAS OPERATIVOS (Código: ) Febrero 2017 A =

Ejercicios Representación de la información

TRABAJO DE INVESTIGACION SOBRE LAS CONVERCIONES DE LOS SISTEMAS NUMERICOS JIMMY DADNOVER ROZO GUERRERO

La Instrucción CALL CCFF DPE MÓDULO DE PROYECTOS 2

Guía de ejercicios # 7 - Punto Flotante

TEMA 5. PROGRAMACIÓN BÁSICA EN MATLAB /OCTAVE

INGENIERÍA DE COMPUTADORES 3. Trabajo Práctico - Junio 2018

Unidad 2. Organización y diseño básico de computadoras

PROGRAMACIÓN EN ASSEMBLER SIMULADOR MSX88

Seguimiento. Organización del Computador I. Gustavo Cairo Carlos A. Di Pietro Carolina Lang. 1 er Cuatrimestre de 2016

Guía práctica de estudio 06: Lenguaje binario

Computación I Representación Interna Curso 2011

Grado en Ingeniería Informática - Ingeniería del Software Estructura de Computadores - Prueba 2 - Junio de 2011

LA CESIUS. Dónde estamos?

Introducción. Tema 1. Fundamentos de informática. Universidad de Oviedo. Fundamentos de Informática. Departamento de Informática Universidad de Oviedo

ORGANIZACIÓN DEL MICROCOMPUTADOR

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

ESTRUCTURA DE COMPUTADORES

Examen de teoría (4 puntos)

Organización de Computadoras. Clase 2

Tema 1: Introducción a los Computadores

Transcripción:

INGENIERÍA TÉCNICA en INFORMÁTICA de SISTEMAS y de GESTIÓN de la UNED ASIGNATURA: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I Tutoría del Centro Asociado de Plasencia Señale cuál es el contenido del registro D0.W, después de ejecutar las siguientes instrucciones: Solución: Claramente, tenemos este bucle: MOVE.W #$6728,D0 MOVE.W #100,D1 BUCLE SUB.W #$02A6,D0 SUBQ.W #1,D1 BNE BUCLE END 26408 D0 100 D1 (D0)-678 D0 (D1)-1 D1 No (D1)==0? Sí Fin En principio, el resultado final sería (D0) final = 26408 100 678 = 19628 Pero hay que ir con pies de plomo. Pueden suceder varios tipos de eventos. Por ejemplo, como: 26408 678 = 38.9 cuando vamos por la iteración número 38: (D0) 38 = 26408 38 678 = 644 N=0, V=0 y en la iteración número 39: (D0) 38 = 644 678 = -34 N=1, V=0 Este evento es irrelevante en nuestro análisis. Esto es así gracias a que el microprocesador tiene en D0 el número 34 representado en complemento a dos. Por tanto, el resultado hasta ahora es correcto (y en las siguientes restas). Otra forma de entenderlo es observando que el valor del contenido no se ha salido del rango en complemento a dos para números de 16 bits (el sufijo es.w). -(2 16-1 ) = -32768-34 0 26408 2 16-1 -1 = 32767 Los eventos que sí son relevantes son los desbordamientos. Podemos seguir iterando hasta que: (D0) < -(2 n-1 ) = -(2 16-1 ) = -32768 Para calcular el número de iteración en que ocurre esto: Mientras 26408 - i 678-32768 todo correcto 26408 + 32768 i 678 i (26408 + 32768) 678 = 87.2 el desbordamiento ocurrirá en la iteración número 88 Veamos cuál es la situación en la iteración número 87: (D0) 87 = 26408 87 678 = -32578 N=1, V=0 Notemos que el contenido binario es &-32578 $80BE. Este valor hexadecimal (binario compactado) lo necesitamos para hacer los cálculos en la siguiente iteración. Veamos cuál es la situación en la iteración número 88: (D0) 87 = $80BE $02A6 = $7E18 = &32280 N=0, V=1 (Al restar de un número negativo, obtenemos un número positivo) Gráficamente, el desbordamiento es esto, salimos por un extremo del rango y entramos por el otro: -(2 16-1 ) = -32768-32578 0 32280 2 16-1 -1 = 32767 A continuación seguimos restando, pero claro, de este valor que nos aparece en los 16 bits menos significativos de D0. Nos faltan (100-88)=12 iteraciones. No vuelve a ocurrir desbordamiento, pues 32280-12 678 = 24144-32768. Finalmente, el contenido de D0 es: &24144 = $5E50 Ejercicio del lenguaje Ensamblador del MC68000 1 José Garzía

Vamos a comprobar la resolución mediante el simulador EASy68K 1º Abrimos la ventana del componente editor, redactamos el código fuente y desde el mismo editor ponemos en marcha la compilación. 2º Solicitando la ejecución del fichero binario ponemos en marcha el componente simulador. Ejercicio del lenguaje Ensamblador del MC68000 2

INGENIERÍA TÉCNICA en INFORMÁTICA de SISTEMAS y de GESTIÓN de la UNED ASIGNATURA: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I Tutoría del Centro Asociado de Plasencia 3º El simulador ya ha cargado el fichero binario; y nos muestra (además de los contenidos de los registros) el fichero listado. Este fichero listado lo necesitaremos para conocer en qué dirección está la instrucción donde colocaremos un punto de ruptura: SUBQ.W #1,D1 Dirección: $100C Ejercicio del lenguaje Ensamblador del MC68000 3 José Garzía

4º Vamos a establecer el punto de ruptura Atención a las condiciones de ruptura: Pretendemos que la ejecución se detenga cuando (PC)=$100C, pero sólo en la iteración en que tiene lugar el desbordamiento en D0. Es decir cuando su bit 15 para de 1 a 0. En otras palabras, cuando (D0) pasa de ser mayor que $8000 a menor que $8000. Además, para evitar el hecho de que en las primeras iteraciones (antes del cruce por cero) se tenía (D0) positivo, nos aseguramos dejar atrás estas iteraciones dándole un valor al contador posterior al cruce por cero. Por ejemplo (D1) = 100-39 = 61 = $3D. Ejercicio del lenguaje Ensamblador del MC68000 4

INGENIERÍA TÉCNICA en INFORMÁTICA de SISTEMAS y de GESTIÓN de la UNED ASIGNATURA: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I Tutoría del Centro Asociado de Plasencia 5º Ponemos en marcha la simulación hasta el punto de ruptura. Resultado parcial cuando vamos por la iteración 88 (cuando quedan 100-88=12): Como habíamos calculado antes (D0)=$7E18. Hay que hacer notar que (D1)=$0D=13 y no $0C=12 porque la interrupción ha ocurrido inmediatamente antes de ejecutarse la instrucción almacenada en la dirección $100C (recuérdese que el PC apunta a la siguiente, la cual todavía no se ha ejecutado). Ejercicio del lenguaje Ensamblador del MC68000 5 José Garzía

6º Para continuar la simulación hasta el final hemos de desactivar el punto de ruptura. Observamos que el resultado es el previsto (D0)=$5E50. Ejercicio del lenguaje Ensamblador del MC68000 6