martes, 15 de octubre de 2013

Unidad II. Preguntas capitulo 4

1.     Cuáles son las diferencias entre un compilador y un ensamblador?
Un compilador
es un programa que, a su vez, traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente. Usualmente el segundo lenguaje es código máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.

Ensamblaje
El término ensamblador (del inglés assembler) se refiere a un tipo de programa informático que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina, ejecutable directamente por la máquina para la que se ha generado. El propósito para el que se crearon este tipo de aplicaciones es la de facilitar la escritura de programas, ya que escribir directamente en código binario, que es el único código entendible por la computadora, es en la práctica imposible. La evolución de los lenguajes de programación a partir del lenguaje ensamblador originó también la evolución de este programa ensamblador hacia lo que se conoce como programa compilador.

  2.- Que es una palabra reservada en un lenguaje ensamblador?
  Ciertas palabras en lenguaje ensamblador están reservadas para propósitos propios, y son usadas solo bajo condiciones especiales. Por categorías, las palabras reservadas incluyen
Instrucciones, cómo MOV y ADD, que son operaciones que la computadora puede ejecutar;
Directivas, como END o SEGMENT, que se emplean para proporcionar comandos al ensamblador;
Operadores, como FAR y SIZE, que se utilizan  en expresiones; y
Símbolos preferidos, como @Data y @Mod que regresan información a su programa.
El uso de una palabra reservada para un propósito equivocado que el ensamblador genere un mensaje de error. El apéndice C muestra una lista de palabras reservadas del lenguaje ensamblador.

3.- Cuales son los dos tipos de identificadores?
Un identificador es un nombre que se aplica a elementos en el programa. Los dos tipos de identificadores son: nombre, que se refiere a la dirección de un elemento de dato, y etiqueta, que se refiere a la dirección de una instrucción. Las mismas reglas se aplican tanto para los nombres como para las etiquetas.

4.- Determine cuáles de los nombres siguientes son válidos?
a) PC_AT
b) $50
c)@$_Z
d) 34B7 No es válido por que inicia con número
e) AX solo es válido si se prefiere al registro AX



5.- Cuales son las diferencias entre una directiva y una instrucción?
Directivas: son órdenes para el ensamblador y no tienen
Traducción a código máquina.
INTERRUPCIONES
­ Se  producen  mediante  la  activación  de  los  terminales #IPL2­0  que 
Codifican  el  nivel de petición (desde  nivel 0, ausencia  de  petición, 
Hasta nivel 7, máxima prioridad o NMI).
­ Una interrupción se atiende si su nivel de petición supera al fijado en 
La máscara de interrupción (bits I2­0 del registro SR), excepto para 
El nivel 7, que siempre se atenderá
6.- Que comandos hacen que el ensamblador:
(a)   imprima un encabezado en la parte superior de una página en el listado de un programa
TITLE
(b)   salte a una nueva pagina  


7.- Cual es el objetivo de cada uno de los tres segmentos descritos en este capítulo?


   Define los elementos de datos y un segmento de código.
   1. Tipo alineación: Nos dice el limite en el que inicia el segmento.
  2. Tipo combinar: Indica si el segmento se combina con otros segmentos son                enlazados después de enlazar. 
  3. Tipo clase: Agrupa segmentos cuando se enlazan.


8.- El formato de la directiva SEGMENT es
              Nombre SEGMENT alineación combinar clase
     Explicar el objetivo de (a) alineación: (b) combinar: (c) clase.

(a)   Provoca alineación de un segmento en una frontera, tal como la de un párrafo.

9.-(a) Cual es el objetivo de un procedimiento? (b) Como define el inicio y el final de un procedimiento? (c) Cuando define un procedimiento como FAR y cuando como NEAR?
(a) Proporciona una sección de código relacionado, como una subrutina

10.- Explique qué enunciados END particulares tratan la finalización de (a) un programa; (b) un  procedimiento; (c) un segmento.
(a) END; (c) ENDS

11.- Establezca las diferencias entre los enunciados que finalizan un encabezado y los enunciados que finalizan una ejecución.
La directiva END le indica al ensamblador que no existen más instrucciones por ensamblar, instrucciones que hagan el control regrese al sistema operativo son MOV AX, $C00H e INT 21H

12.-De los nombres  STKSEG, DATSEG y CDSEG a los segmentos de la pila, de los datos y del código, respectivamente, y codifique el ASSUME necesario
ASSUME SS: STKSEG, DS: DATASEG, CS: CDSEG

13.- considere las instrucciones MOV AX, 4C00H utilizadas con INT 21H. (a) Que hace la instrucción (b) Cual es la finalidad del 4C y el 00?

14.- para las directivas simplificadas de segmentos, la directiva, MODEL proporciona los modelos  TINY, SMALL, MEDIUM, COMPACT y LARGE. Bajo qué circunstancias se utiliza cada uno de estos modelos?

15.- De las longitudes, en bytes, generadas por las siguientes directivas de datos (a)DD (b)DW  (c)DT  (d)DQ  (e)DB
a.-4 c.-10 e.-1
16.-Defina una cadena de caracteres con nombre TITLE que contenga la constante RGB electrónicos.
TITLE1  DB RGB electrónicos
17.- Defina los valores numéricos siguientes en elementos de datos  FIELDA a FIELDE, respectivamente
(a)Un elemento de cuatro bytes con el equivalente hexadecimal de 215 decimales
(b) Un elemento de un byte con el equivalente hexadecimal de 35 decimales.
(c) Un elemento de dos bytes con un valor no definido
(d) Un elemento de un  byte con el equivalente binario de 25 decimales
(e) Un DW con los valores consecutivos 17, 19, 21,26 y 31
  a.- FLDA DD73H
  c. - FLDC DW?
  E.-FLDE DW 17, 19,21,26,31



18.-Muestre el código objeto hexadecimal  generado por (a) DB 28 (b) DB 28
a.-ASCII 3238; b.- ex IC

19- Determine el código objeto hexadecimal ensamblado por (a) DB 28H (b) DW 2845H (c) DD 2833AH (d) DQ 28733AH

                a.-28 c.-3A732800











No hay comentarios:

Publicar un comentario