You are on page 1of 7

Prctica 1: Laboratorio de Organizacin Computacional.

INSTITUTO TECNOLOGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY


CAMPUS ESTADO DE MEXICO
Prctica 2
Organizacin Computacional Gpo. 02
Sesiones: Enero 14 y 21, 2015
Fecha de entrega: Enero 23, 2015

A01169735

Daniel Armando Sada Caraveo

Prctica 2
Organizacin Computacional Gpo. 02

Actividad:
Esta prctica tiene como objetivo conocer los conceptos bsicos del lenguaje ensamblador,
escribir un programa sencillo en ensamblador y conocer el ambiente de EMU8086.
1.

Introducin de EMU8086:

Descarga el archivo emulatorzip.rar de Blackboard y sigue el proceso de instalacin


del emulador. Familiarizate con el ambiente de EMU8086: el editor de codigo, los botones
de compilar y emular, etc. Abre el programa de ejemplo (disponible en Blackboard), y
presiona emulate y despus run. Observa como van cambiando los valores de los registros.
Ahora corre el programa paso por paso, presionando single step y escribe el contenido
de los valores de los registros AX y BX.

Instruccion

AX

BX

0000

0000

mov ax, 30

001E

0000

add ax, 15

002D

0000

mov bx, 575

002D

023F

sub bx, 225

002D

015E

mul bx

3D86

015E

add ax, 210

3E58

015E

org 100h

Prctica 2
Organizacin Computacional Gpo. 02

Cdigo ensamblador en EMU8086:


El programa de ejemplo realiza operaciones aritmticas simples, dejando el resultado
final en el registro AX. Cual es la operacin que se calcula en el programa de
ejemplo? (Escribe como una formula, por ejemplo (3 2) + 24, utiliza nmeros
decimales).Ahora es tu turno de escribir un programa. Crea un nuevo archivo y
escribe el cdigo que calcule : 12 (200 225) + 127 utilizando los registros AX y BX.
Una vez ms corre el programa paso a paso y escribe el contenido de los registros.
Instruccion

AX

BX

mov ax, 220

00DC

0000

mov bx, 225

00DC

00E1

sub ax, bx

FFFB

00E1

add ax, 122

0075

00E1

mov bx, 12

0075

000C

mul bx

057C

000C

Prctica 2
Organizacin Computacional Gpo. 02

Bibliotecas de funciones:
Para facilitar la programacion se pueden incluir funciones previamente definidas
utilizando la directiva include. Si agregamos la lnea: include emu8086.inc
tenemos acceso a las funciones y macros definidos en ese archivo, entre ellas: print,
printn, scan num, print num, etc. Para llamar a una funcion se utiliza la palabra
call seguida del nombre de la funcion. Por ejemplo, call scan num captura un
numero desde el teclado y lo guarda en CX, call print num imprime el numero
almacenado en AX.
Escribe un programa que lea dos nmeros, los multiplique y finalmente imprima el
resultado.
name "sadaCode" ; output file name (max 8 chars).

include 'emu8086.inc'
ORG 100h

printn 'Escribe un numero'


CALL scan_num ;get number in CX.
MOV AX, CX ; copy the number to AX.
printn 'Escribe otro numero'
CALL scan_num ;get number in CX.
MOV BX, CX ; copy the number to AX
print '?n='
MUL BX
CALL print_num ; print number in AX.
RET
DEFINE_SCAN_NUM
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS ; required for print_num.
END; directive to stop the compiler.

Prctica 2
Organizacin Computacional Gpo. 02

Investiga qu significan los registros de EMU8086 (AX, BX, CS, IP, etc.). Incluye
esta investigacion como parte de la introduccin en tu reporte.

Nombre

Ejemplo

Registros de Proposito General

ax, bx

Registros de Datos

cx,

Registros de Direccin

di, si, dx, etctera

Prctica 2
Organizacin Computacional Gpo. 02

5. Investiga qu otras instrucciones existen adems de MOV, ADD, SUB, MUL, DIV
y crea una tabla de referencia (para que puedas usar en las prcticas siguientes).

Prctica 2
Organizacin Computacional Gpo. 02

References
Configurable Data Processor with Multi-length Instruction Set Architecture. Simon
Davidson, assignee. Patent WO2003065165 A2. 31 Jan. 2002. Print.
0ax. "Code as Art." : Say Hello to X64 Assembly [part 1]. 0ax, n.d. Web. 30 Jan. 2015.
"Intel 8086 Microprocessor Family." Intel 8086 Microprocessor Family. N.p., n.d. Web. 30
Jan. 2015.
"The Von Neumann Architecture of Computer Systems." The Von Neumann Architecture
of Computer Systems. N.p., n.d. Web. 30 Jan. 2015.

You might also like