lunes, 7 de octubre de 2013

Actividad Lunes 30 de Septiembre

Preguntas del capitulo 4 
Requerimientos de lenguaje ensamblador.


1.- Señale las diferencias entre un compilador y un ensamblador.
     El Compilador usa lenguaje de alto nivel y el Ensamblador utiliza el lenguaje de bajo nivel, ambos son para programar, pero el lenguaje de bajo nivel o ensamblador da instrucciones simbólicas  mientras que el lenguaje de alto nivel genera muchas instrucciones para la maquina. 


2.- Que es una palabra reservada  en un lenguaje ensamblador? De dos ejemplos. 
     Son palabras que están guardadas o reservadas para un propósito propio, se usan para condiciones especiales.

Ejemplo: Las instrucciones como MOV y ADD que son operaciones que se pueden ejecutar. 
Otro ejemplo es el END o SEGMENT que son para poner los comandos al ensamblador. 


3.- Cuales son los dos tipos de identificadores? 
    Es el de etiqueta y el de nombre. 
Etiqueta: Es el que dice la dirección de una instrucción. 
Nombre: Dice la dirección de un elemento de dato. 


4.- Determine cuales de los nombres siguientes son validos: 
a) PC_AT: Es valido.
b) $50: Es valido.
c) @$_Z: Es valido.
d)34B7: No es valido. 
e) AX: Es valido.


5.- cuales son las diferencias entre una directiva y una instrucción?
Las instrucciones son una serie de pasos que están como en sintaxis para que el ensamblador las reconozca y haga lo que le piden, mientras que las directivas son enunciados que permiten controlar la manera que un programa ensambla y lista. 


6.- Que comandos hacen que el ensamblador 
(a) Imprima un encabezado en la parte superior de una pagina en el listado de un programa: El comando TITLE hace que el titulo de un programa aparezca , se imprima en la linea 2 de cada pagina. Su formato general es TITLE texto. 

(b) Salte a una nueva pagina: El comando PAGE nos dice el numero maximo de lineas que en una hoja puede haber, su formato es PAGE [logitud]{, ancho}


7.- Cual es el objetivo de cada uno de los tres segmentos descritos en este capitulo? 
   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´

Explique el objetivo de: 
a) Alineación: Operando.
b) Combinar: Comentario.
c) ´Clase´: Comentario. 


9.-
    a)  Cual es el objetivo de un procedimiento? Continuar con una serie de pasos para que pueda ejecutarse correctamente o haga lo que indiques. 
    b)Como define el inicio y el final de un problema? El inicio es la idea y el final es como queremos que salga el resultado. 
    c) Cuando definirá un procedimiento como FAR y cuando como NEAR?  
 FAR: Es cuando nuestra interface es unit debe tener el atributo Far, porque no podrá ser invocada desde cualquier segmento de código.
 NEAR: Es el atributo que puede conectarse con el programa principal. 


10.- Explique que enunciados END particulares tratan la finalizacion de: 
 a)un programa: Marca el final del archivo fuente y opcionalmente indica el punto de entrada al programa END [dirección de inicio]

 b) un procedimiento: Marca el final de un bloque de repeticion o de un marco. ENDM 

 c)un segmento: Marca el final del segmento estructura o union actual ENDP nombre de segmento o nombre de estructura


11.- Establezca las diferencias entre los enunciados que finalizan un ensamblado y los enunciados que finalizan ejecución. 

Enunciados que finalizan un ensamblado: Terminan un proceso de ensamblado
enunciados que finalizan ejecución: Termina solo un segmento o un procedimiento.



12.- De los nombres STKSEG, DATASEG y CDSEG a los segmentos de la pila, de los datos y del código respectivamente y codifique el ASSUME necesario. 
  STKSEG: Contiene una entrada DW (definir palabra) que define 32 palabras inicializadas a cero, un tamaño adecuado para la mayoria de los programas.
DATASEG: Define tres palabras de datos de llamadas FLDA, FLDB, FLDC. 
CDSEG: CODESG al registro CS de modo que el sistema utilice la direccion de registro CS para direccionamiento de CODESG. 


13.- Considere la instrucción MOV AX 4CH00 utilizada con INT 21H
a)Que hace la instrucción? Hace  que se inserten INT 21H incerta 21 caracteres de tipo Hexadecimal

b) cual es la finalidad del 4C y el 00: Regresa al DOS Dice la direccion de memoria. 

14.- Para las directivas simplificadas de segmentos, la directiva MODEL proporciona los modelos TINY SMALL, MEDIUM, COMPACT y LARGE. Bajo que circunstancias se utilizaría cada uno de estos modelos. 
Para un programa autónomo (que no este enlazado con otro).
 TINY: Es solo para usarse en programas 
 Small: Da solo un cupo de 64K para el codigo asi como otro segmento de la misma capacidad. 
Medium: Es utilizado cuando manejemos mas de un segmento de código.
Compact: Este tipo de modelo sera utilizado cuando manejamos 1 segmento de código pero tenemos mas de un segmento de datos. 
Large: Este es el mas grande de todos se usa cuando tenemos mas se un segmento de código y mas de un segmento de dato. 


15.-  De las longitudes en  bytes, generadas por las siguientes directivas de datos: 
a) DD: 4 bytes
b)DW: 2 bytes
c)DT: 10 bytes 
d)DQ: 8 bytes
e) DB: definir byte


16.- Defina una cadena de caracteres TITLE1 que contenga la constante: RGB Electronics.

TITLE RGB Electronics


17.- Defina los valores numericos siguientes en elementos de datos FIELDA a FIELDE respectivamente: 
a) Un elemento de cuatro bytes con el equivalente Hexadecimal del 215 decimal.
215=0010 0001 0101 

b)un elemento de un byte con el equivalente hexadecimal del 35 decimal.

 35=0010 0101

c) Un elemento de dos bytes con un valor no definido

d) Un elemento de un byte con el equivalente binario del 25 decimal 

e) un DW con los valores consecutivos 17,19,21,26 y 31. 



18.- Muestre el codigo objeto hexadecimal generado por 

a) DB 28H: 0001 28 
b) DW 2845H: 0030 2845 
c) DD28733AH: 004A 3A732800
d) DQ 28733AH: 0062 3A73280000000000




No hay comentarios:

Publicar un comentario