estructuras

Páginas: 18 (4457 palabras) Publicado: 15 de enero de 2014
Estructura y Tecnología de Computadores

Boletín de ejercicios tema 7

Boletín de ejercicios del tema 7 de ETC1
Salvo que se exprese lo contrario:
• Las direcciones de memoria se almacenan el little endian.
• Representar el contenido en la misma base numérica en la que se declaran
los datos.
• Especificar claramente con una línea horizontal los bytes de memoria con
contenidodesconocido.
• Representar NULL con dicha palabra.
• Se asume que el contenido del registro CP es la dirección de memoria
siguiente a la instrucción que se está ejecutando
• Ante la duda: emplear el criterio MIPS

1. A partir de las siguientes especificaciones de datos, distribuirlos en las direcciones
de memoria correspondientes (cada recuadro represente un byte).
a) Word (4 bytes de tamaño cadadato): Dato 1: 0xABCDEF89, Dato 2:
0x01234567

3
AB
7
01

Little endian
2
1
CD
EF
6
5
23
45

0
89
4
67

3
89
7
67

Big endian
2
1
EF
CD
6
5
45
23

0
AB
4
01

b) Half (2 bytes de tamaño cada uno): Dato 1: 0xABCD, Dato2: 0x0123

3
01
7

Little endian
2
1
23
AB
6
5

0
CD
4

3
23
7

Big endian
2
1
01
CD
6
5

0
AB
4

c) Byte (1byte de tamaño cada uno): Dato 1: 0xAB, Dato2: 0x01

3
7

1 de 26

Little endian
2
1
01
6
5

0
AB
4

3
7

Big endian
2
1
01
6
5

0
AB
4

Soluciones

Estructura y Tecnología de Computadores

Boletín de ejercicios tema 7

2. Distribuir las siguientes directivas de datos en la memoria.
a) Declaración de datos
.data 0x10000000
.byte 3, 8, 0x23
.half 0x2299,98, 0x1122
.word 0x12345678
.space 2
.byte 2
.word 0x87654321
.double 3.1415

Contenido
---

0x23
98

-----

8

Dirección
3

0x2299
--0x1122
0x12345678
2
0x00
0x00
0x87654321
3.1415

31(MSB)

0x10000000
0x10000004
0x10000008
0x1000000c
0x10000010
0x10000014
0x10000018
0x1000001c

0(LSB)

b) ¿En qué dirección de memoria comienzan los siguientes datos?
Dato.byte 3
.byte 8
.byte 0x23
.half 0x2299
.half 98

Dirección
0x10000000
0x10000001
0x10000002
0x10000004
0x10000006

Dato
.half 0x1122
.word 0x12345678
.byte 2
.word 0x87654321
.double 3.1415

Dirección
0x10000008
0x1000000c
0x10000012
0x10000014
0x10000018

c) ¿Cuál sería la dirección de memoria del dato “.double 3.1415” si
inmediatamente después de la directiva “.word0x87654321” se incluyese la
directiva “.byte 0xff”? ¿por qué?
La nueva dirección sería 0x10000020. Esto es porque los datos de tipo double se
alinean en direcciones mútiplo de 8, al incluir un dato (0xff) en la dirección
0x10000008 la siguiente dirección múltiplo de 8 es la 0x10000020.r

2 de 26

Soluciones

Estructura y Tecnología de Computadores

Boletín de ejercicios tema 7

3.Distribuir las siguientes directivas de datos en la memoria.
a) Declaración de datos
.data 0x10000000
.word 0x12345678
.asciiz “Mariola”
.space 3
.word 0x87654321
.byte 3, 8, 0x23
.space 1
.ascii “MIPS”
.half 0x2299

Contenido

Dirección

0x12345678
‘r’
‘a’
‘M’
‘a’
‘l’
‘o’
0x00
0x00
0x00
0x87654321
0x23
8
3
‘P’
‘I’
‘M’
--0x2299

‘i’
NULL
--0x00
‘S’
--31(MSB)0x10000000
0x10000004
0x10000008
0x1000000c
0x10000010
0x10000014
0x10000018
0x1000001c

0(LSB)

b) ¿En qué dirección de memoria comienzan los siguientes datos?
Dato
Letra ‘M’ de “Mariola”
Letra ‘a’ de “Mariola”
Letra ‘r’ de “Mariola”
NULL de “Mariola”
.word 0x87654321

Dirección

Dato

Dirección

0x10000004
0x10000005
0x10000006
0x1000000b
0x10000010

.byte 3.byte 8
.byte 0x23
Letra ‘M’ de “MIPS”
Letra ‘I’ de “MIPS”

0x10000014
0x10000015
0x10000016
0x10000018
0x10000019

c) Teniendo en cuenta los valores en hexadecimal de los caracteres (consultar la
tabla ASCII) ¿cómo representaría el PCSPIM la declaración de datos anterior?
Hay que tener en cuenta que el PCSPIM coloca en cada línea cuatro palabras (de 4
bytes cada una de ellas) las...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Estructura
  • Estructura
  • Estructura
  • Estructuras
  • Estructuras
  • Estructuras
  • Estructuras
  • Estructuras

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS