Sei sulla pagina 1di 10

Universidad Nacional del Callao

Arquitectura de computadoras
INFORME FINAL N01: PROFESOR: ING CUCHO MENDOZA XENON ANDRES PANANA GRANDEZ EDUARDO COD: 082645A

2013 B

UNIVERSIDAD NACIONAL DEL CALLAO DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESIONAL DE INGENIERA ELECTRONICA

FACULTAD ESCUELA

2013B

INFORME FINAL DEL LABORATORIO N 1


Pregunta 1: Escriba un programa que multiplique 3 nmeros y halle el mayor de ellos. Los nmeros estn contenidos en las posiciones de memoria 100H, 101H y 102H, respectivamente, el producto deber almacenarse en los registros [DX:AX] y el nmero mayor en la posicin 105H, respectivamente SOLUCION: El cdigo comentado para el programa es el siguiente: org 100h mov [100h],11 mov [101h],13 mov [102h],9 mov al,[100h] mov bl,[101h] mov cl,[102h] call comparar call multiplicar comparar: cmp al,bl ja mayorA cmp bl,cl ja mayorB mov [105h],cl ret ;[100h]=1er numero ;[101h]=2do numero ;[102h]=3er numero ;al=[100h] ;bl=[101h] ;cl=[102h] ;ejecutar subprograma COMPARAR ;ejecutar subprograma MULTIPLICAR ;COMPARAR ;comparar al con bl ;si al<bl, ejecutar mayorA ;comparar bl con cl ;si bl<cl, ejecutar mayorB ;sino [105h]=cl ;fin de comparar

PROF: ING CUCHO MENDOZA ZENON ANDRES PANANA GRANDEZ EDUARDO COD: 082645A

UNIVERSIDAD NACIONAL DEL CALLAO DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESIONAL DE INGENIERA ELECTRONICA

FACULTAD ESCUELA

2013B

mayorA: cmp al,cl ja mayor ret mayor: ret mayorB: ret multiplicar: mul bl mul cl mov [200h],ah mov [201h],al mov dx,[200h] mov ax,[201h] ret

;mayorA ;comparar al con cl ;si al<cl, ejecutar mayor ;fin de mayorA ;mayor ;fin de mayor ;mayorB ;fin de mayorB ;MULTIPLICAR ;al=al*bl ;al=al*cl ;[200h]=ah ;[201h]=al ;dx=[200h] ;ax=[201h]

mov [105h],cl ;sino [105h]=cl

mov [105h],al ;[105h]=al

mov [105h],bl ;[105h]=bl

;fin de programa

PROF: ING CUCHO MENDOZA ZENON ANDRES PANANA GRANDEZ EDUARDO COD: 082645A

UNIVERSIDAD NACIONAL DEL CALLAO DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESIONAL DE INGENIERA ELECTRONICA

FACULTAD ESCUELA

2013B

PROF: ING CUCHO MENDOZA ZENON ANDRES PANANA GRANDEZ EDUARDO COD: 082645A

UNIVERSIDAD NACIONAL DEL CALLAO DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESIONAL DE INGENIERA ELECTRONICA

FACULTAD ESCUELA

2013B

Pregunta 2: Complete los valores que obtendrn los registros y las direcciones indicadas, luego de ejecutarse cada instruccin. Inicialmente los valores de cada instruccin es 0. SOLUCION: Copiamos el cdigo correspondiente en el Emu8086 as como vemos en la siguiente imagen: org 100h mov si,160h mov ax,3 mov bx,0 mov [bx+si],ax bucle: add ax,bx add bx,1 cmp bx,8h jb bucle ret ret ;ax=3 ;bx=1 ;comparamos bx=1 con 8 ;si es menor, hacemos bucle ;si es mayor, final ;final mov [bx+si+1],ax ;[161]=3 ;si=160 ;ax=3 ;bx=0 ;[160]=3

PROF: ING CUCHO MENDOZA ZENON ANDRES PANANA GRANDEZ EDUARDO COD: 082645A

UNIVERSIDAD NACIONAL DEL CALLAO DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESIONAL DE INGENIERA ELECTRONICA

FACULTAD ESCUELA

2013B

Al ejecutar el programa, obtenemos los siguientes datos:


ORG 100H MOV SI, 160H MOV AX, 3 MOV BX, 0 MOV [BX+SI], AX BUCLE: ADD AX, BX MOV [BX+SI+1], AX ADD BX, 1 CMP BX, 8H JB BUCLE 1ra SI=160 AX=3 BX=0 [160]=3 AX=3 [161]=3 BX=1 BX=1<8 AX=4 [162]=4 BX=2 BX=2<8 AX=6 [163]=6 BX=3 BX=3<8 AX=9 [164]=9 BX=4 BX=4<8 AX=D [165]=D BX=5 BX=5<8 AX=12 [166]=12 BX=6 BX=6<8 AX=18 [167]=18 BX=7 BX=7<8 AX=1F [168]=1F BX=8 BX=8=8 2da 3ra 4ta 5ta 6ta 7ma 8va

DIRECCION DATO

160H 3

161H 4

162H 6

163H 9

164H D=13

165H 12=18

166H 18=24

167H 1F=31

168H 0

169H 0

16AH 0

PROF: ING CUCHO MENDOZA ZENON ANDRES PANANA GRANDEZ EDUARDO COD: 082645A

UNIVERSIDAD NACIONAL DEL CALLAO DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESIONAL DE INGENIERA ELECTRONICA

FACULTAD ESCUELA

2013B

Pregunta 3: Escriba un programa para determinar el nmero de elementos que sean nmeros menores que 10 de un total de 12 elementos. El bloque de nmeros se inicia en 0180H. El resultado se muestra en la posicin de memoria 0160H. SOLUCION: Primero definimos una tabla con doce nmeros el cual a travs de un bucle compararemos todos ellos para despus poner en la direccin 160H la cantidad de nmeros menores a 10 y despus de ello mostraremos todos los nmeros menores a partir de la direccin 180H. El cdigo comentado del problema nos queda de la siguiente manera. org 100h jmp inicio nums db 10,2,3,4,15,6,7,8,9,10,11,2 ;definimos los 12 numeros inicio: lea si,nums mov di,0 mov cx,12 comp: mov al,[si] cmp al,10 jb menor: inc si loop comp menor: ;leer la tabla nums ;di=0 ;cx=12 ;comparamos ;al=[si] ;comparamos al con 10 ;si es menor ;si es menor incrementamos si ;ejecutar subprograma comp ;MENOR
PROF: ING CUCHO MENDOZA ZENON ANDRES PANANA GRANDEZ EDUARDO COD: 082645A

UNIVERSIDAD NACIONAL DEL CALLAO DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESIONAL DE INGENIERA ELECTRONICA

FACULTAD ESCUELA

2013B

add [160h],1 mov [180h+di],al inc si inc di loop comp ret

;[160h]=[160h]+1 ;[180h+di]=al ;incrementamos si ;incrementamos di ;ejecutamos comp ;fin de programa

Despus de ejecutar el programa, nos muestra la cantidad de 8 nmeros menores que 10 y en la direccin 160H y esos nmeros tambin son mostrados a partir de la direccin 180H.

PROF: ING CUCHO MENDOZA ZENON ANDRES PANANA GRANDEZ EDUARDO COD: 082645A

UNIVERSIDAD NACIONAL DEL CALLAO DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESIONAL DE INGENIERA ELECTRONICA

FACULTAD ESCUELA

2013B

Pregunta 4: Escriba un programa que calcule el cubo de los primeros 8 nmeros naturales y los guarde a partir de la direccin 200h. Use bucles. SOLUCION: El cdigo es el siguiente: org 100h jmp inicio nums db 1,2,3,4,5,6,7,8 ;definimos la 1ra tabla cubos db ?,?,?,?,?,?,?,? ;definimos la 2da tabla inicio: lea si,nums lea bx,cubos mov di,0 mov cx,8 cubo: mov al,[si] mul [si] mul [si] mov [bx],al inc si inc bx inc di inc di loop cubo ret ;al=[si] ;al=al*si ;al=al*si ;[bx]=al ;incrementamos si ;incrementamos bx ;[200+di]=ax ;incrementamos di ;incrementamos di ;ejecutar "cubos" ;fin del programa ;leer tabla nums ;leer tabla cubos ;si=0 ;cx=8 (por la cantidad de numeros)

mov [200h+di],ax

PROF: ING CUCHO MENDOZA ZENON ANDRES PANANA GRANDEZ EDUARDO COD: 082645A

UNIVERSIDAD NACIONAL DEL CALLAO DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESIONAL DE INGENIERA ELECTRONICA

FACULTAD ESCUELA

2013B

OBSERVACIONES: En el problema 4 tuve el inconveniente de que cuando mostraba el cubo del nmero 7 nos sala solo el nmero 87, y pude corregirlo poniendo cada cubo en dos direcciones, por ejemplo el cubo de 7 es 343 (decimal) y si le restamos = 256 nos queda 87 entonces se guardara en [201H]=01 y en [200H]=87.

PROF: ING CUCHO MENDOZA ZENON ANDRES PANANA GRANDEZ EDUARDO COD: 082645A

Potrebbero piacerti anche