UTNianos

Versión completa: [Arquitectura] Ejercicio
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Buenas, sigo intentando con el final que me tiene re podrido..
Aca estoy con un ejercicio que no puedo resolverlo, no se si tengo la cabeza quemada o definitivamente soy un gil =P

Un sistemas de memoria segmentada utiliza un segmento de 1022bytes para el primer segmento de codigo. Si utiliza la gestion de memoria virtual. 1) Cual es el valor del campo selector de la direccion virtual que puede accederlo. 2) Que atributo determina si esta en memoria principal. 3) Cual es el valor del campo limite expresado en hexadecimal. 4) Que campo de su descriptor indica la direccion de comienzo de segmento.

Estoy mareado, les agradeceria la ayuda. Saludos
2) El bit de presencia que está en el descriptor de segmento.
3) El campo límite es igual al tamaño, 1022bytes en hexadecimal es 3FE.
4) La base.

El 1 no estoy segura, el selector tiene 14bits, 13 bits son el índice y el bit de menos peso indica en que tabla está (1 local, 0 global)
El índice es lo que hay que sumar a la base de tabla de descriptores para encontrar el descriptor, como dice que es el primero, voy a suponer que está primero en la tabla y por lo tanto el desplazamiento va a tener que ser nulo, 13 ceros. Entonces el selector sería así:
0000000000000X (no sé si la tabla es la local o global, por eso la X)

En la página 180 de Angulo está la dirección virtual, y en la 184 te muestra los campos del descriptor.
Acá hay uno resuelto que es muy parecido:
http://www.utnianos.com.ar/foro/attachment.php?aid=811
Gracias de nuevo!
Otra pregunta tengo, vi que varias veces dan varias instrucciones en Assembler. Y una de las preguntas que hacen es, que modo de direccionamiento tienen. En que me tengo que fijar para darme cuenta de eso?
Si tiene el número(llamalo "operando" si tenés que explicarlo en el final) en la instrucción, por ejemplo ADD BX,5 es direccionamiento inmediato.
Si tiene la dirección, por ejemplo ADD BX,[1053] es directo o absoluto.
Si el operando está incluido en la instruccion, por ejemplo INC BX (INC es que le suma 1) es implícito.
Si son dos registros, ej ADD BX,DX es por registro.
Si te pone la dirección de una dirección, es indirecto, ejemplo mover reg,((0200)), accede a la dirección indicada para obtener la direccion donde está el dato, así que son dos accesos a memoria.
Si utiliza un registro índice (SI o DI) es indexado.

Consultá el libro de Quiroga a partir de la página 266 que hay más, pero los que toman suelen ser los primeros tres que te puse al principio del post. Acá también explica algunos: http://moisesrbb.tripod.com/m_direct.html
URLs de referencia