0% encontró este documento útil (0 votos)
162 vistas7 páginas

Lab3 Turbo Assembler

Este documento describe un laboratorio de ensamblador donde se realizan operaciones aritméticas utilizando diferentes técnicas en comparación con laboratorios anteriores. Se crea un segmento de datos donde se almacenan los valores utilizados. Las diferencias principales son la cantidad de bytes utilizados y cómo se almacenan y acceden a los datos. El registro DS toma valores correspondientes al segmento de datos creado para almacenar los valores.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
162 vistas7 páginas

Lab3 Turbo Assembler

Este documento describe un laboratorio de ensamblador donde se realizan operaciones aritméticas utilizando diferentes técnicas en comparación con laboratorios anteriores. Se crea un segmento de datos donde se almacenan los valores utilizados. Las diferencias principales son la cantidad de bytes utilizados y cómo se almacenan y acceden a los datos. El registro DS toma valores correspondientes al segmento de datos creado para almacenar los valores.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

FACULTAD DE INGENIERÍA DE SISTEMAS


COMPUTACIONALES

MATERIA:
OAC 2

Lab 3:
Turbo Assembler

GRUPO:
11R112

PROF. SERGIO COTES

INTEGRANTE:
Fernando Martinez / 8-921-573

I SEMESTRE 2020
lOMoARcPSD|5059574
lOMoARcPSD|5059574

1. Ejecute su programa: Escriba el nombre y teclee “enter”. ¿Qué respuesta obtuvo?


¿Por qué sucede esto? Punto (A)

Con la primera instrucción se crean todos los archivos en la capeta del programa
Después se utiliza la instrucción tlink para enlazar los archivos generados,
finalmente al ejecutar el archivo lab3.exe se imprime un mensaje.

2. Escriba “r” y presione “enter”. Se mostrarán los 8 registros generales del procesador,
los registros de segmento, el registro IP y el registro de estado. Tome nota del estado
de los registros, compare este resultado con el del primer y segundo laboratorio.
Mencione las diferencias. Punto (B)
Lab 1

Lab 2

Lab 3

En el laboratorio 3 los registros AX y CX ya tienen un valor asignado


3. Tome nota de las instrucciones de lenguaje hexadecimal para cada instrucción en
lenguaje simbólico que se introdujo a la memoria... y calcule cuántos bytes ocupa el
programa. Punto (C).

Dirección:Segmento Instrucción HEX Instrucción Bytes


simbólica
0770:0000 B86307 MOV AX,0798 3
0770:0003 8ED8 MOV DS,AX 2
0770:0005 A10000 MOV AX,[0000] 3
0770:0008 031E0200 ADD BX,[0002] 4
0770:000C 8BC8 MOV CX,AX 2
0770:000E 2B060400 SUB AX,[0004] 4
0770:0012 8BD0 MOV DX, AX 2
0770:0014 F7E2 MUL DX,AX 2
0770:0016 F7F1 DIV CX 2
0770:0018 BA0600 MOV DX,0006 3
0770:001B E80500 CALL 0023 3
0770:001E B8OO4C MOV AX,4C00 3
0770:0021 CD21 INT 21 2
Total Bytes 35

4. Después de cada ejecución, anote los cambios en todos los registros... (D). Recuerde
que la memoria contiene otras instrucciones que no nos interesan, ubicadas después
de nuestro programa. ¡No las ejecute!
5. Compare los resultados de las operaciones aritméticas de este programa vs el
primero y segundo. ¿Hay diferencias en los registros? Explique (E)

Si hay diferencia en los registros comparándolos con los 2 primeros laboratorios,


por ejemplo, en la primera adición de cada laboratorio observamos que:
Laboratorio 1:

1. En este laboratorio usamos el número que movimos a AX directamente


en hexadecimal para realizar la operación.
2. Esta adición ocupa 3 bytes de memoria.
3. El valor de DS es diferente al del laboratorio numero 3 por que en el mismo
no uso el DS
4. El valor de SI y DI es diferente al del laboratorio numero 2 por que en el mismo
no uso SI y DI

Laboratorio 2:

1. En este laboratorio creamos un SI y le asignamos el valor que llamamos


más adelante para poder realizar la adición.
2. Esta adición ocupa 2 bytes de memoria.
3. El valor de DS es diferente al del laboratorio numero 3 por que en el mismo
no se usó el DS
4. El valor de SI y DI es diferente al del laboratorio número 1 y 3 por que en el
mismo si uso SI y DI
Laboratorio 3:

1. En este laboratorio creamos un data segment donde colocamos todos los


valores que íbamos a usar y los llamamos de ahí para realizar las operaciones.
2. Esta adición ocupa 4 bytes de memoria.
3. El valor de DS es diferente al del laboratorio número 1 y 2 por que en el
mismo si se usó el DS
4. El valor de SI es diferente al del laboratorio numero 2 por que en el mismo
no uso SI y DI

Podemos concluir que las diferencias entre las operaciones de cada uno de
los laboratorios principalmente son:
 Cantidad de bytes.
 Como están almacenados los valores.

6. ¿Observe qué sucede con el DS...Dónde están almacenados los datos? Cómo
puedo verlos? Investigue (F)

Sucede que en la ejecución vemos como se asigna el valor 0798 al DS, dicho valor
en el código fuente corresponde al datasg (Segmento de Código), donde están
almacenados los datos.

El DS toma valores: (DS:0000=0125, DS:0002=0038, DS: 0004=0050)

Para ver los valores se puede utilizar el comando

Dump Comando Dump

Sintaxis: D [intervalo]

Muestra el contenido de una zona de memoria en hexadecimal y en ASCII. Sin


parámetros muestra los primeros 128 bytes a partir de la posición a la que se llegó
en el último "d". Si se le da un rango, mostrará ese rango.
Conclusión

De este laboratorio podemos concluir que podemos hacer lo mismos procesos de


diferentes maneras con el Assembler lo que lo hace una máquina virtual versátil y útil.

En lo personal prefiero esta forma de llevar acabo las operaciones en Assembler porque
me recuerda a un lenguaje de programación común y corriente, también podemos
concluir que esta manera de programar en Assembler es la que más ocupa bytes de
memoria. Y me parece incluso mejor que la forma anterior.

También podría gustarte