10
Sergy Liao 8-863-305 6314 Computadoras Digitales 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, mayúscula, minúscula, guión bajo y el punto. 2 ¿Es tu ensamblador sensible a las mayúsculas? R: Si es sensible. Estimulación 1 1. ¿Porqué cree usted que una etiqueta en el ensamblador debe comenzar con un carácter alfabetico? R: Debido a que las etiquetas detectan un número 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 instrucción de... Explore 2 1. ¿Cómo son los símbolos utilizads en el ensamblador?

Lab2 Computadoras.docx

  • Upload
    karito

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Lab2 Computadoras.docx

Sergy Liao 8-863-3056314 Computadoras Digitales 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, mayúscula, minúscula, guión bajo y el punto.

2 ¿Es tu ensamblador sensible a las mayúsculas?

R: Si es sensible.

Estimulación 1

1. ¿Porqué cree usted que una etiqueta en el ensamblador debe comenzar con un carácter alfabetico?

R: Debido a que las etiquetas detectan un número 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 instrucción de...

Explore 2

1. ¿Cómo son los símbolos utilizads en el ensamblador?

R: Deben ser sencillos para que puedan ser sustituidos por una constante.

2. Las constantes son valores númericos ¿Cómo es la base para las constantes especificadas en el ensamblador, para las siguientes bases?

Page 2: Lab2 Computadoras.docx

R: a. Decimal (Ninguna)

b. Hexadecimal ($)

c. Binario (%)

d. ASCII (“ ”)

3. ¿Cuál es la base por defecto para los números en su ensamblador?

R: El sistema decimal.

Estimulación 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. ¿Dónde en la documentación 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 código 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 usaría en el desarrollo de código 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

Page 3: Lab2 Computadoras.docx

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. ¿Cuál 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 dirección es definida por la etiqueta BUF1.

R: BUF:DS26

Explora 7

1. Mostrar como definir una ubicación 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 ubicación 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 se puede utilizar en las expresiones del ensamblador?

+ Suma

- Resta

Page 4: Lab2 Computadoras.docx

* Multiplicación

/ División

% Residuo

& AND

OR

^ XOR

Explorar 9

1. ¿Su ensamblador soporta la creación de macros de secuencias de instrucciones de uso frecuente?

R. Si soporta.

2. ¿Su ensamblador permite el ensamblado condicional?

R. Si permite.

Page 5: Lab2 Computadoras.docx

Informe de Laboratorio.

Metas de Experimento:En este módulo se aprendera acerca de algunas de las características de un ensamblador típico. Se aprendera como introducir un archivo de origen con los campos de codigo fuente adecuados y como utilizar directivas del ensamblador para controlar cómo el ensamblador hace su trabajo.

Teoría de funcionamientoEl Ensamblador es el lenguaje de programación de más bajo nivel que existe. Lo único más rudimentario sería programar el lenguaje de máquina 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 máquina, además de seguir las directivas para programar el microcontrolador.

Resultados Experimentales

PROBLEMA 1Dos módulos de código reubicables se muestra a continuación. 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. Agréguelos en la sección de datos MyData VAR1: DS.B 1VAR2: DS.B 1

b. Dos, constantes de un byte constantes, CON1= 1 y CON2 = 2, deben ser inicializados en la sección de datos constantes MyConst. Agregue esto.

Page 6: Lab2 Computadoras.docx

CON1: DC.B $01CON2: DC.B $02

c. Complete las líneas XDEF y XREF. XDEF Entry, main, CON1, VAR1

XREF __SEG_END_SSTACK, VAR3, CON4, module_2

2. Para el módulo_1: a. Una constante, CON4 = 4, se utiliza en ambos módulos. Definirla. CON4: EQU 4

b. Una constante de un byte, CON3 = 3, se inicializa en la sección de datos constantes MyConst. CON3: DC.B 3

c. Tres, datos de un byte de almacenamiento de datos, var2, VAR3 y VAR5 son requeridos. Agréguelos en la sección de datos variables MyData. VAR2: DS.B 1VAR3: DS.B 1VAR5: DS.B 1

d. Un, datos de dos bytes ubicados en el almacenamiento de datos, Var4 se requiere. Añade esta en la sección de variable de datos MyData. VAR4: DS.W 1

e. Complete las líneas XDEF y XREF. XDEF VAR3, CON3, CON4, module_2XREF CON1, VAR1

3. Cuando el programa se ha ejecutado, ¿cuáles son los contenidos de las posiciones de memoria siguientes:

a. Main Module: VAR1, VAR2? VAR1 = 3VAR2 = 4

b. Module_1: VAR2, VAR3, VAR4 y VAR5 VAR2 = 1VAR3 = 2VAR4 = $0103VAR5 = 5

Page 7: Lab2 Computadoras.docx

4. ¿Por qué puedes tener una variable VAR2 definida en ambos módulos? Se puede definir en ámbos módulos ya que no se le ha hecho XDEF o XREF, por lo que es única para cada módulo.5. ¿Qué pasaría si se asigna almacenamiento para una variable VAR3 en el módulo principal? Error de doble etiqueta.6. ¿En Module_1 cómo la expresión CON4+1 es evaluada? CON4+1 = 5

Discusión de los ResultadosEl ensamblador es un lenguaje de programación de bajo nivel. Programa directamente instrucciones al microcontrolador, que las interpreta casi directamente. Además 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 más 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 módulos (archivos) distintos.

Page 8: Lab2 Computadoras.docx

Conclusiones

En este laboratorio se vio ya la misma programación 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 había que correr en el Codewarrior, sin embargo a el programa había que agregarle ciertas cosas como las variables, códigos y lo mas importante que es la conexión a otros ficheros como las directivas. Los comandos XREF Y XDE se utilizan para la conexión 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