Estructura y tecnología de computadores

Álgebra de Boole. Hexadecimal. M68000. Código hamming. Posición de memoria

  • Enviado por: Gema Perez
  • Idioma: castellano
  • País: España España
  • 8 páginas
publicidad
publicidad

Asignatura: ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES I

Fecha: Septiembre 1.995

Tipo examen: D

PREGUNTAS TEST

1.- Representar el número 95'579 en base 5 con coma fija en sistema de módulo y signo, utilizando cuatro cifras fraccionarias y tantas cifras enteras como sea preciso.

Solución:

1102'4413

144'3233

421'0402

340'2421

2.- Considérese el computador ejemplo del Tema 7 de las Unidades Didácticas. Supóngase que tanto los registros como los buses de datos y direcciones como la memoria tienen 16 bits. En un instante determinado el contenido (expresado en hexadecimal) de los siguientes registros es: (R2) = 210D, (R1) = 0C3F, (RM) = 0035, (AC) = B001, donde R2 es un registro de la batería BR. En ese instante comienza el período 1 del cronograma de la figura. Al finalizar el período 2, el contenido del registro acumulador AC es:

PERIODO !

Reloj !

1

___øø

2

___øø

CR01AC

___øø

-----------

SBRS

--< R2 >--

-----------

CR02BR

___øø

-----------

OP

-----------

< ADD >

CAC

-----------

___øø

2D4C

2142

D10E

BC40

3.- Se dispone de un computador dotado de un microprocesador M68000. En un momento dado, el contenido de los registros D0, D1 y D2 es (D0) = $20008541, (D1) = $45103421 y (D2) = $3549BA21. Indicar cuál será el contenido final de los registros D0 y D1 si inmediatamente se ejecuta el siguiente fragmento de programa:

ADD.B

D2,D1

BEQ

OP2

OP1

ROR.B

#1,D0

BRA

SEGUIR

OP2

ROR.W

#1,D1

SEGUIR

NOP

Solución:

(D0) = $20008541; (D1) = $3549C2A0

(D0) = $20008541; (D1) = $45101A21

(D0) = $900042A0; (D1) = $45103442

(D0) = $200085A0; (D1) = $45103442

4.- Sea un sistema de representación numérica en binario sin signo de 4 bits b3b2b1b0 (indicados de mayor a menor peso). Construir una función lógica que valga 1 cuando un número dado representado en este sistema sea múltiplo de 4, y que valga 0 en caso contrario. (NOTA: considerar que el 0 es múltiplo de 4).

Solución:

b2 · b1' · b0'

b1' · b0'

b3 · b1' + b2 · b0'

b3 · b2

5.- Un computador posee un registro índice R1 cuyo contenido en un momento dado es (R1) = 1000, expresado en hexadecimal. El computador tiene una memoria de 64K palabras de 16 bits. El contenido en hexadecimal de una zona de memoria consecutiva es el siguiente: (100F) = 273F, (1010) = 1012, (1011) = 3EC4, (1012) = 2F3E. En un momento dado la instrucción que va a ejecutarse utiliza un modo de direccionamiento indexado empleando el registro R1 para acceder a un operando. Si el valor del operando obtenido es 1012 teniendo en cuenta que el valor del CD de la instrucción es (CD) = 10 (también hexadecimal), ¿cuál es el modo de direccionamiento empleado?

Solución:

Indexado con predecremento

Indexado con posincremento

Indexado con preincremento

Preindexado

PROBLEMA

Diseñar una subrutina en ensamblador del M68000 que encuentre el número de veces que aparece un carácter dado en una cadena de caracteres ASCII de longitud desconocida. Los parámetros que recibe la subrutina son:

  • A0 : registro de direcciones que contiene la dirección del primer carácter de la cadena. La cadena termina en el carácter ASCII nulo.

  • D0 : carácter buscado.

La subrutina devuelve en el registro D1 el número de veces que el carácter está en la cadena.

Seguir el procedimiento indicado a continuación:

Realizar un análisis detallado del funcionamiento de la subrutina, indicando los tipos de instrucciones y modos de direccionamiento más adecuados para el problema planteado, así como los recursos necesarios (registros, memoria).

Programar en ensamblador del M68000 la subrutina pedida, comentando adecuadamente las sentencias utilizadas.

2