Está en la página 1de 8

6314 Computadoras Digitales

Sergy Liao 8-863-305


Manuel Quiel 4-751-323

Laboratorio 2: El Ensamblador
26 de agosto de 2014
Pre- Lab
Explore 1
1.
Qu caracteres se pueden utilizar para las etiquetas en su
ensamblador?
R: Se pueden utilizar alfanumerico, mayscula, minscula, guin bajo y
el punto.
2

Es tu ensamblador sensible a las maysculas?

R: Si es sensible.
Estimulacin 1
1.
Porqu cree usted que una etiqueta en el ensamblador debe
comenzar con un carcter alfabetico?
R: Debido a que las etiquetas detectan un nmero que este en el rango
de (0-9), y si el ensamblador no detecta el numero mandara error.
2.
Da dos ejemplos en los que se puede utilizar una etiqueta en un
programa de ensamblador.
R: -Al momento de hacer una referencia a una ubicacion de memoria.
-Para una instruccin de...
Explore 2
1.

Cmo son los smbolos utilizads en el ensamblador?

R: Deben ser sencillos para que puedan ser sustituidos por una
constante.
2.
Las constantes son valores nmericos Cmo es la base para las
constantes especificadas en el ensamblador, para las siguientes bases?
R: a. Decimal (Ninguna)
b. Hexadecimal ($)
c. Binario (%)

d. ASCII ( )
3.

Cul es la base por defecto para los nmeros en su ensamblador?

R: El sistema decimal.
Estimulacin 2.
1. De dos razones para utilizar los comentarios en un programa.
R:

-Explicar lo que se hace en cada paso.


-Lograr un mejor entendimiento del programa.

Explora 3
1. Dnde en la documentacin del ensamblador puede encontrar
explicaciones detalladas de las directivas del ensamblador?
R:

En el capitulo 8 del manual del ensamblador.

Explora 4
1.
Si el ensamblado es un ensamblador absoluto, de un ejemplo de
una directiva ORG que ubique el cdigo en el lugar correcto del kit del
laboratorio.
R:
2.
Si el ensamblado es un ensamblador relativo de un ejemplo de una
directiva SECTION que usara en el desarrollo de cdigo para su kit de
aprendizaje.
R:
Explora 5
1.
Mostrar como definir una constante cuyo valor es 18 decimal
utilizando las bases numericas siguientes.
R: a) Decimal n1: EQU18
b) Hexadecimal n2: EQU$12
c) Binario n3: EQU%10010

Explora 6
1.
Qu tipos de memoria se utiliza para el almacenamiento de datos
variables?
R: Memoria RAM.

2.
Cuanta memoria variable est disponible en el kit de aprendizaje
de los estudiantes?
R: 12 Kbyte.
3.

Cul es el rango de las direcciones de memoria variable?

R: $1000 - $3FFF.
4.
Muestre como definir un buffer de almacenamiento de datos con
decimales 26 bytes y cuya primera direccin es definida por la etiqueta
BUF1.
R: BUF:DS26
Explora 7
1.
Mostrar como definir una ubicacin de memoria de un byte cuya
etiqueta es CR y cuyo valor es de $0D.
R: CR:DC,B$0D
2.
Mostrar como definir una ubicacin de memoria de dos bytes cuya
etiqueta es CRLF Y CUYO VALOR ES DE $0D0A.
R: CRLF:DCW$0D0A
3.
Mostrar como definir una secuencia de constantes de
caracteristicas ASCII CUYA etiqueta es STRING y que contiene los
caracteres Este es un mensaje!.
R: STRING: DC.B Este es un mensaje!.
Explorar 8
1.

Qu operadores algebraicos
expresiones del ensamblador?

+ Suma
- Resta
* Multiplicacin
/ Divisin
% Residuo
& AND
OR
^ XOR

se

puede

utilizar

en

las

Explorar 9
1. Su ensamblador soporta la creacin de macros de secuencias de
instrucciones de uso frecuente?
R. Si soporta.
2.

Su ensamblador permite el ensamblado condicional?

R. Si permite.

Informe de Laboratorio.

Metas de Experimento:
En este mdulo se aprendera acerca de algunas de las caractersticas de
un ensamblador tpico. Se aprendera como introducir un archivo de
origen con los campos de codigo fuente adecuados y como utilizar
directivas del ensamblador para controlar cmo el ensamblador hace su
trabajo.

Teora de funcionamiento
El Ensamblador es el lenguaje de programacin de ms bajo nivel que
existe. Lo nico ms rudimentario sera programar el lenguaje de
mquina directamente. Funciona en base a distintas instrucciones, que
son nicas a cada microprocesador.
En nuestro caso particular, utilizamos el Software CodeWarrior for
HCS12, para programar, compilar y simular la tarjeta HCS12 que usamos
en el curo. El compilador es el programa que traduce las instrucciones al
lenguaje de mquina, adems de seguir las directivas para programar el
microcontrolador.

Resultados Experimentales

PROBLEMA 1
Dos mdulos de cdigo reubicables se muestra a continuacin.
Introduzca estos datos en su programa ensamblador reubicable y
complete las siguientes preguntas.
1. Para el main module:
a. Dos, datos de un byte en localidades de almacenamiento var1 y
var2 son necesarios. Agrguelos en la seccin de datos MyData
VAR1: DS.B 1
VAR2: DS.B 1
b. Dos, constantes de un byte constantes, CON1= 1 y CON2 = 2, deben
ser inicializados en la seccin de datos constantes MyConst. Agregue
esto.
CON1: DC.B $01
CON2: DC.B $02

c. Complete las lneas XDEF y XREF.


XDEF Entry, main, CON1, VAR1
XREF __SEG_END_SSTACK, VAR3, CON4, module_2
2. Para el mdulo_1:
a. Una constante, CON4 = 4, se utiliza en ambos mdulos.
Definirla.
CON4: EQU 4
b. Una constante de un byte, CON3 = 3, se inicializa en la seccin
de datos constantes MyConst.
CON3: DC.B 3
c. Tres, datos de un byte de almacenamiento de datos, var2, VAR3
y VAR5 son requeridos. Agrguelos en la seccin de datos
variables MyData.
VAR2: DS.B 1
VAR3: DS.B 1
VAR5: DS.B 1
d. Un, datos de dos bytes ubicados en el almacenamiento de
datos, Var4 se requiere. Aade esta en la seccin de variable de
datos MyData.
VAR4: DS.W 1
e. Complete las lneas XDEF y XREF.
XDEF VAR3, CON3, CON4, module_2
XREF CON1, VAR1
3. Cuando el programa se ha ejecutado, cules son los contenidos de
las posiciones de memoria siguientes:
a. Main Module: VAR1, VAR2?
VAR1 = 3
VAR2 = 4
b. Module_1: VAR2, VAR3, VAR4 y VAR5
VAR2 = 1
VAR3 = 2
VAR4 = $0103
VAR5 = 5
4. Por qu puedes tener una variable VAR2 definida en ambos mdulos?

Se puede definir en mbos mdulos ya que no se le ha hecho XDEF o


XREF, por lo que es nica para cada mdulo.
5. Qu pasara si se asigna almacenamiento para una variable VAR3 en
el mdulo principal?
Error de doble etiqueta.
6. En Module_1 cmo la expresin CON4+1 es evaluada?
CON4+1 = 5

Discusin de los Resultados


El ensamblador es un lenguaje de programacin de bajo nivel. Programa
directamente instrucciones al microcontrolador, que las interpreta casi
directamente. Adems de instrucciones, en el ensamblador se programan
directivas, que son instrucciones para guiar al compilador y obtener los
resultados deseados. Las directivas no son instrucciones para el micro, por
lo tanto, no ocupan direcciones de memoria.
En este laboratorio aprendimos un poco ms acerca del uso del software
CodeWarrior. Una pregunta que nos planteamos desde el primer laboratorio
era el significado del Ensamblador Reubicable vs el Ensamblador Absoluto.
Ahora entendemos que el Ensamblador Reubicable permite utilizar las
directivas XDEF y XREF, que son definiciones y referencias cruzadas entre
mdulos (archivos) distintos.

Conclusiones
En este laboratorio se vio ya la misma programacin en s del lenguaje
assembler. En la parte del laboratorio en si, que es el problema 1, el cual
est al final de tal laboratorio se dio un programa el cual haba que
correr en el Codewarrior, sin embargo a el programa haba que agregarle
ciertas cosas como las variables, cdigos y lo mas importante que es la
conexin a otros ficheros como las directivas. Los comandos XREF Y XDE
se utilizan para la conexin a ficheros externos los cuales al juntarlos
todos se tiene el programa compilando bien.

Reporte enviado y firmado por:

Liao, Sergy

Quiel, Manuel

19 de agosto de 2014

19 de agosto de 2014

19 de agosto de 2014