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 #IPL20 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 I20 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