Examen Parcial Arquitectura FISI UNMSM Resolucion

15
RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS Prof: Contreras FISI- UNMSM RESOLUCION DEL EXAMEN PARCIAL 1.- En la memoria principal se tiene almacenado un numero entero, ocupa un area de dos bytes cuya dirección final es 234FCh, el numero es menor de 80000, imprimirlo en pantalla en el sistema octal. Construir el programa. .model small .stack 256 .data temp Dw 0d val Dw 0q num Dw 30000d octal Dw 8d dat Dw 000001q,000010q,000100q,001000q,010000q,100000q text DB 6 DUP(?),"$" .CODE

description

RESOLUCIÓN DEL EXAMEN PARCIAL Prof: ContrerasARQUITECTURA DE COMPUTADORAS FISI- UNMSMRocio Balbin LazoRESOLUCION DEL EXAMEN PARCIAL1.- En la memoria principal se tiene almacenado un numero entero, ocupa un area de dos bytes cuya dirección final es 234FCh, el numero es menor de 80000, imprimirlo en pantalla en el sistema octal. Construir el programa..model small .stack 256 .datatemp Dw 0d val Dw 0q num Dw 30000d octal Dw 8d dat Dw 000001q,000010q,000100q,001000q,010000q,100000q text DB 6 DUP(?),"$" .COD

Transcript of Examen Parcial Arquitectura FISI UNMSM Resolucion

Page 1: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

RESOLUCION DEL EXAMEN PARCIAL

1.- En la memoria principal se tiene almacenado un numero entero, ocupa un area de dos bytes cuya dirección final es 234FCh, el numero es menor de 80000, imprimirlo en pantalla en el sistema octal. Construir el programa.

.model small

.stack 256

.data

temp Dw 0d

val Dw 0q

num Dw 30000d

octal Dw 8d

dat Dw 000001q,000010q,000100q,001000q,010000q,100000q

text DB 6 DUP(?),"$"

.CODE

main proc far mov bx,seg num

Page 2: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

mov ds,bx

call borrar

call mostrar

mov ah,1; muestra lo tecleado

int 21h;por

main endp

octal proc

mov cx,5

aca: mov dx,0

div word ptr [si]

XCHG dx,ax ;intercambiar registros

mov temp,dx

mul word ptr[di]

add [bx], ax

add di,2

mov dx,temp

XCHG dx,ax

loop aca

mul word ptr[di]

add [bx], ax

ret

octal endp

pasartexto proc

mov cx,5

add si,5

aqui: mov dx,0

div word ptr[di+2]

or dl, 30h

mov[si], dl

dec si

loop aqui

or al,30h

mov [si], al

ret

pasartexto endp

mostrar proc

mov dx, offset num

mov ax,num

mov di,offset dat

mov si,offset octal

mov bx,offset val

call convertiroctal

mov ax,[val]

mov di,offset dat

mov si,offset text

call convertirtexto

mov dh,5

mov dl,20

call cursor

mov dx,offset text

call imprimir

Page 3: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

ret

mostrar endp

borrar proc

mov cx,0

mov dh,24

mov dl,79

mov al,0

mov bh,21h

mov ah,6

int 10h

ret

borrar endp

imprimir proc

mov ah,9

int 21h

ret

imprimir endp

cursor proc

mov ah,2

mov bh,0

int 10h

ret cursor endp

2.- Imprimir el carácter * en la pantalla en la posición : fila=15, columna =30, luego si se pulsa la tecla :

1: Se debe desplazar hacia arriba (Limite fila 4)

2.- Se debe desplazar hacia abajo (Limite fila 20)

3.-Se debe desplazar hacia la derecha (Limite fila 60)

4.- Se debe desplazar hacia la izquierda (Limite fila 10)

5.- Terminar la ejecución del programa

.model small .stack 256

Page 4: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

.data

m1 DB "*$"

m2 DB " Ingrese numero $"

m3 db 4

t1 DB "GRACIAS.. HASTA OTRA OPORTUNIDAD$"

.CODE

main proc far

mov bx, seg m1

mov ds, bx

otrav: mov bh, 2fh ; atributo colores

call borrar

call menu

mov ah,1

int 21h

cmp al,'1' ;comparo al con 1

JNE op2 ;sie s igual opcion

jmp otrav

op2: cmp al, '2'

jne op3

call arriba

jmp otrav

op3: cmp al, '3'

jne op4

call abajo

jmp otrav

op4: cmp al, '4'

jne op5

call derecha

jmp otrav

op5: cmp al, '5'

jne op6

call izquierda

jmp otrav

op6: cmp al, '6'

jne op7

call ubicacion

jmp otrav

op7: cmp al, '7'

jne otrav

call despedida

mov ah, 4ch

int 21h

main endp

imprimir proc

mov ah, 9

int 21h

ret

imprimir endp

cursor proc

mov ah, 2

mov bh, 0

int 10h

Page 5: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

ret

cursor endp

menu proc

mov dh, 2

mov dl, 20

call cursor

mov dx, offset m2

call imprimir

call ubicacion

ret

menu endp

borrar proc

mov cx, 0

mov dh, 24

mov dl, 79

mov al,0

mov ah,6

int 10h

ret

borrar end

;1

ubicacion proc

mov bh, 1fh

call borrar

mov dh,15

mov dl,30

call cursor

mov dx, offset m1

call imprimir

ret

ubicacion endp

;2

arriba proc

mov bh, 30h ; cambio co,lor

call borrar

mov dh,14

mov dl,30

call cursor

mov dx, offset m1

call imprimir

mov ah, 8 ; pàra ver loq in¡gresa

int 21h

ret

arriba endp

abajo proc

mov bh, 30h ; cambio co,lor

call borrar

mov dh,16

mov dl,30

call cursor

mov dx, offset m1

call imprimir

Page 6: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

mov ah, 8 ; pàra ver loq in¡gresa

int 21h

ret

abajo endp

derecha proc

mov bh, 30h ; cambio co,lor

call borrar

mov dh,15

mov dl,31

call cursor

mov dx, offset m1

call imprimir

mov ah, 8 ; pàra ver loq in¡gresa

int 21h

ret

derecha endp

izquierda proc

mov bh, 30h ; cambio color

call borrar

mov dh,15

mov dl,29

call cursor

mov dx, offset m1

call imprimir

mov ah, 8

int 21h

ret

izquierda endp

despedida proc

mov bh, 1ah

call borrar

mov dh, 2

mov dl,20

call cursor

mov dx, offset t1

call imprimir

mov ah, 8

int 21h

ret

despedida endp

end main

3·.- Describa con las herramientas que cree conveniente, las acciones que se realizan en el interior y exterior del procesador cuando cuando se ejecuta la instrucción loop y je.

Page 7: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

INSTRUCCIÓN LOOP

Propósito: Generar un ciclo en el programa.

Sintaxis:

LOOP etiqueta

La instrucción loop decrementa CX en 1, y transfiere el flujo del programa a la etiqueta dada como operando si CX es diferente a 1.

La instrucción LOOP, requiere un valor inicial en el registro CX. En cada iteración, LOOP de forma automática disminuye 1 de CX. Si el valor en el CX es cero, el control pasa a la instrucción que sigue; si el valor en el CX no es cero, el control pasa a la dirección del operando. La distancia debe ser un salto corto, desde -128 hasta +127 bytes. Para una operación que exceda este limite, el ensamblador envía un mensaje como "salto relativo fuera de rango". El formato general de la instrucción LOOP es:  

|  [etiqueta:]  |  LOOP  |  dirección corta  |

Las instrucciones siguientes de salto condicional se aplican a datos sin signo

Saltos con base en datos con signo

Page 8: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

Pruebas aritméticas especiales

INSTRUCCIÓN JE:

JE etiqueta

Salta si es igual o salta si es cero.

El salto se realiza si ZF está activada.

Esta Instrucción es condicional ya que necesita una condición ala hora de realizar el brinco.

4 Explique con las herramientas que cree conveniente en que consiste los modos de direccionamiento indirecto, especifique un ejemplo de cada uno.

DIRECCIONAMIENTO INDIRECTO DE REGISTRO

Page 9: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

Direccionamiento indirecto por RegistroPermite direccionar una localidad de memoria apuntada por un registroLos registros que se pueden usar son:_ BP_ BX_ DI_ SICuando son utilizados cualquiera de los registros arriba indicados, utiliza por defecto al DScomo segmento para completar la dirección, con excepción del BP que utiliza el SS.Ejemplo: copiar a AX lo que se encuentra en DS:100mov BX,100mov AX,[BX]En algunos casos es necesario aclarar el tamaño del dato a mover, por ejemplo cuando se copiauna cte a un posición de memoria.mov BX,100mov [BX],22 ; el compilador no sabe si 22 es un byte o wordmov BYTE PTR [BX],22 ; se copiará el 22 en una pos de memoria de un bytemov WORD PTR [BX],22 ; se copiará el 22 en una pos de memoria de un word

Direccionamiento indirecto a registro- Es similar al direccionamiento indirecto, pero la dirección intermedia está contenida enun registro, no en una posición de memoria.- La instrucción contendrá la referencia al registro.- Subcampos del campo de operando

- Coincide con el direccionamiento relativo a registro base sin usar desplazamiento.- Ejemplo M68000: MOVE.L D0,(A4)Combinación de modos indirecto e indexado- Subcampos del campo de operando

- Preindexado: El contenido del registro índice se suma al de la dirección indirecta en elprimer paso de la indirección.

Page 10: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

- Posindexado: el contenido del registro índice se suma a la dirección intermedia en elsegundo paso de la indirección.

- Puede haber preincremento o predecremento (total: 8 posibilidades).Direccionamiento relativo a registro con índice y desplazamiento- La dirección del objeto se obtiene sumando el contenido de un registro base, unregistro índice y un desplazamiento.- Subcampos del campo de operando

- Ejemplo M68000: MOVE.L D0,12(A0,D2)

5.- En la memoria principal, en un area de 96 bytes cuya dirección final es 6800:FFF0 existe un mensaje, en cada tres Bytes se tiene la siguiente información:

NCNFASCII

Construir el programa que permita imprimir los caracteres en la pantalla en las posiciones que se indican según NC y NF.

Page 11: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

.model small

.stack 256

.data

m1 DB 5,10,'a'

m2 DB 5,12,'b'

m3 DB 5,14,'c'

m4 DB 5,16,'d'

m5 DB 5,18,'e'

m6 DB 5,20,'f'

m7 DB 5,22,'g'

m8 DB 5,24,'h'

m9 DB 5,26,'i'

m10 DB 5,28,'j'

m11 DB 5,30,'k'

m12 DB 5,32,'l'

m13 DB 5,34,'m'

m14 DB 5,36,'n'

m15 DB 5,38,'o'

m16 DB 5,40,'p'

m17 DB 5,42,'q'

m18 DB 5,44,'r'

m19 DB 6,10,'s'

m20 DB 6,12,'t'

m21 DB 6,14,'u'

m22 DB 6,16,'v'

m23 DB 6,18,'w'

m24 DB 6,20,'x'

m25 DB 6,22,'y'

m26 DB 6,24,'z'

m27 DB 6,26,'A'

m28 DB 6,28,'B'

m29 DB 6,30,'C'

m30 DB 6,32,'D'

m31 DB 6,34,'E'

m32 DB 6,36,'F'

m33 DB 6,38,'G'

m34 DB 6,40,'H'

m35 DB 6,42,'I'

m36 DB 6,44,'J'

.code

main proc far

mov bx,seg m1

mov ds,bx

mov bh, 2fh

Page 12: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

call borrar

mov si, offset m1

call menu

mov si, offset m2

call menu

mov si, offset m3

call menu

mov si, offset m4

call menu

mov si, offset m5

call menu

mov si, offset m6

call menu

mov si, offset m7

call menu

mov si, offset m8

call menu

mov si, offset m9

call menu

mov si, offset m10

call menu

mov si, offset m11

call menu

mov si, offset m12

call menu

mov si, offset m13

call menu

mov si, offset m14

call menu

mov si, offset m15

call menu

mov si, offset m16

call menu

mov si, offset m17

call menu

mov si, offset m18

call menu

mov si, offset m19

call menu

mov si, offset m20

call menu

mov si, offset m21

call menu

mov si, offset m22

call menu

mov si, offset m23

call menu

mov si, offset m24

call menu

mov si, offset m25

call menu

mov si, offset m26

call menu

mov si, offset m27

call menu

mov si, offset m28

Page 13: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

call menu

mov si, offset m29

call menu

mov si, offset m30

call menu

mov si, offset m31

call menu

mov si, offset m32

call menu

mov si, offset m33

call menu

mov si, offset m34

call menu

mov si, offset m35

call menu

mov si, offset m36

call menu

mov ah,8

int 21h

mov ah, 4ch

int 21h

main endp

menu proc

mov dh, [si]

mov dl, [si+1]

call cursor

mov dl,[si +2]

call imprimir

ret

menu endp

imprimir proc

mov ah, 2

int 21h

ret

imprimir endp

borrar proc

mov cx, 0

mov dh, 24

mov dl, 79

mov al,0

mov ah,6

int 10h

ret

borrar endp

cursor proc

mov ah, 2

mov bh, 0

int 10h

ret

cursor endp

end main

Page 14: Examen Parcial Arquitectura FISI UNMSM Resolucion

RESOLUCIÓN DEL EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS

Prof: Contreras FISI- UNMSM

Usted tiene un procesador con las caracteristicasmuy similares a lo estudiado en las clases tiene una capacidad de direccionamiento de 4MB, el conjunto de terminales de direcciones y de datso se multiplexan con respecto el tiempo: a0/d0, a1/d1, a2/d2, a3/d3, a4,….. a17, a18/d4, a19/d5, a20/d6, a21/d7. Conectar al procesador dos modulos de memoria de 2 mb cadauno.