8/16/2019 Practica 1 Lab Micropro PC (espol)
1/16
ESCUELA SUPERIOR
POLITECNICA DEL LITORAL
FIEC
Laboratorio de Microprocesadores
Práctica 1
FAMILIARIZACION CON LA ARQUITECTURA DE LOS
PROCESADORES !"
Est#dia$tes%Pedro Car&a'a( R#i)
*i++, F#e$tes -o$)á(e)
Para(e(o . 1-r#po . /
Fec0a de prese$taci$%
1!23421"
/31"5 1er T6r+i$o
8/16/2019 Practica 1 Lab Micropro PC (espol)
2/16
1. Enunciado del Proyecto
Se rea(i) #$a pe7#e8a i$trod#cci$ de c+o 9#$cio$a (os co+a$dos 7#e se#ti(i)a$ e$ e( pro:ra+a Deb#:; e( c#a( se (os #ti(i)ará para tra)ar; e'ec#tar ,editar (os b,tes 7#e será$ e'ec#tados e$ e(
2. Diagrama de bloques
3. Diagrama de flujo del programa principal
8/16/2019 Practica 1 Lab Micropro PC (espol)
3/16
8/16/2019 Practica 1 Lab Micropro PC (espol)
4/16
4. Descripción del algoritmo
Ejercicio 1
1> Se &eri9ica si e( &a(or de (a IP de( se:+e$to de cdi:o es 133; si $o (oes #ti(ice R IP para poder 0acer(o>
/> Se e$sa+b(a (as i$str#ccio$es de( pro:ra+a co$ e( co+a$do A>?> Se i$icia(i)a co$ (a i$str#cci$ NOP 7#e $o rea(i)a $i$:#$a 9#$ci$>@> Se #ti(i)a (a i$str#cci$ MO para asi:$ar a (os re:istros AB , B
datos>4> Media$te (a i$str#cci$ ADD; se s#+a (os datos de a+bos re:istros ,
se (o :#arda e$ e( re:istro AB>"> Se 9i$a(i)a co$ (a i$str#cci$ NOP>
8/16/2019 Practica 1 Lab Micropro PC (espol)
5/16
Ejercicio 2
1> Se &eri9ica si e( &a(or de (a IP de( se:+e$to de cdi:o es 133; si $o (oes #ti(ice R IP para poder 0acer(o>
/> Se i$:resa e( dato 1AF +edia$te e( orde$a+ie$to de( pe7#e8o i$dio
e$ (a direcci$ /33 de( se:+e$to de datos?> Se e$sa+b(a (as i$str#ccio$es de( pro:ra+a co$ e( co+a$do A>@> Se i$icia(i)a co$ (a i$str#cci$ NOP 7#e $o rea(i)a $i$:#$a 9#$ci$>4> Se #ti(i)a (a i$str#cci$ MO para asi:$ar a( re:istro AB e( dato 4A@!>"> Se asi:$a a B e( co$te$ido 7#e 0a, e$ (a posici$ /33 de(
se:+e$to de datos>> Media$te (a i$str#cci$ ADD; se s#+a (os datos de a+bos re:istros ,
se (o :#arda e$ e( re:istro AB>!> Se 9i$a(i)a co$ (a i$str#cci$ NOP>
Ejercicio 3
1> Se &eri9ica si e( &a(or de (a IP de( se:+e$to de cdi:o es 133; si $o (oes #ti(ice R IP para poder 0acer(o>
/> Se i$sta(a (os datos e$ +e+oria; es decir e$ e( se:+e$to de datos e$(a posici$ 143 , 141 , e$ /33 , /31> Se #ti(i)a$ @ casi((as dedireccio$es debido a 7#e se está traba'a$do co$ 1" bits>
?> Se e$sa+b(a (as i$str#ccio$es de( pro:ra+a co$ e( co+a$do A>@> Se i$icia(i)a co$ (a i$str#cci$ NOP 7#e $o rea(i)a $i$:#$a 9#$ci$>4> Se #ti(i)a (a i$str#cci$ MO para asi:$ar a (os re:istros AB , B (os
datos a$terior+e$te a(+ace$ados; a AB se (e asi:$a 143 , B/33>"> Media$te (a i$str#cci$ ADD; se s#+a (os datos de a+bos re:istros ,
se (o :#arda e$ e( re:istro B>> Se 9i$a(i)a co$ (a i$str#cci$ NOP>
Ejercicio 4
1> Se &eri9ica si e( &a(or de (a IP de( se:+e$to de cdi:o es 133; si $o (oes #ti(ice R IP para poder 0acer(o>
/> Se e$sa+b(a (as i$str#ccio$es de( pro:ra+a co$ e( co+a$do A>?> Se i$icia(i)a co$ (a i$str#cci$ NOP 7#e $o rea(i)a $i$:#$a 9#$ci$>@> Se asi:$a e( &a(or de 3/ a( re:istro AG , /@ a( re:istro DL>4> Se #ti(i)a (a i$str#cci$ INT /1 7#e sir&e para co$cate$ar (os datos
a$teriores>"> Se asi:$a e( &a(or de /@ a( re:istro DL>> Se #ti(i)a $#e&a+e$te (a i$str#cci$ /1 para co$cate$ar e( dato de
AG , DL>!> Se 9i$a(i)a co$ (a i$str#cci$ NOP>
8/16/2019 Practica 1 Lab Micropro PC (espol)
6/16
Ejercicio 5
1> Se &eri9ica si e( &a(or de (a IP de( se:+e$to de cdi:o es 133; si $o (oes #ti(ice R IP para poder 0acer(o>
/> Se e$sa+b(a (as i$str#ccio$es de( pro:ra+a co$ e( co+a$do A>
?> Se i$icia(i)a co$ (a i$str#cci$ NOP 7#e $o rea(i)a $i$:#$a 9#$ci$>@> Se asi:$a e( &a(or de / a( re:istro AG , /G a( re:istro DL>4> Se #ti(i)a (a i$str#cci$ INT /1 7#e sir&e para co$cate$ar (os datos
a$teriores>"> Se asi:$a e( &a(or de /? a( re:istro DL>> Se #ti(i)a $#e&a+e$te (a i$str#cci$ INT /1 para co$cate$ar e( dato
de AG , DL>!> Se #ti(i)a (a i$str#cci$ INT /3 e( c#a( a( ter+i$ar de e'ec#tar (as
i$str#ccio$es +e per+ite e( re:reso a( $i&e( de co+a$dos de(pro:ra+a Deb#:>
H> Se 9i$a(i)a co$ (a i$str#cci$ NOP>
Ejercicio
1> Ca+biar e( &a(or de (a IP de( se:+e$to de cdi:o a /33>/> Se procede a e$sa+b(ar (as i$str#ccio$es de( pro:ra+a co$ e(
co+a$do A>?> Se i$icia(i)a co$ (a i$str#cci$ NOP 7#e $o rea(i)a $i$:#$a 9#$ci$>@> Se asi:$a e( &a(or de H a( re:istro AG , 3/3C a( re:istro DB>4> Se #ti(i)a (a i$str#cci$ INT /1 7#e sir&e para co$cate$ar (os datos
a$teriores>"> Se asi:$a e( &a(or de 3 a( re:istro AG>> Se #ti(i)a $#e&a+e$te (a i$str#cci$ INT /1 para co$cate$ar e( dato
de AG , DL>!> E$ (a si:#ie$te ($ea de pro:ra+a se escribe #$a cade$as de
caracteres
Ejercicio !
1> Se &eri9ica si e( &a(or de (a IP de( se:+e$to de cdi:o es 133; si $o (o
es #ti(ice R IP para poder 0acer(o>/> E$ (a direcci$ /33 de( se:+e$to de cdi:o se asi:$a #$a cade$a de
caracteres>?> Se e$sa+b(a (as i$str#ccio$es de( pro:ra+a co$ e( co+a$do A>@> Se i$icia(i)a co$ (a i$str#cci$ NOP 7#e $o rea(i)a $i$:#$a 9#$ci$>4> Se asi:$a e( &a(or de H a( re:istro AG , 3/33 a( re:istro DB>"> Se #ti(i)a (a i$str#cci$ INT /1 7#e sir&e para co$cate$ar (os datos
a$teriores>> Se #ti(i)a (a i$str#cci$ INT /3 e( c#a( a( ter+i$ar de e'ec#tar (as
i$str#ccio$es +e per+ite e( re:reso a( $i&e( de co+a$dos de(
pro:ra+a Deb#:>!> Se 9i$a(i)a co$ (a i$str#cci$ NOP>
8/16/2019 Practica 1 Lab Micropro PC (espol)
7/16
5. "ódigo del Programa Principal
Ejercicio 1
NOPMOV AX, 1234 Se asigna el valor 1234 al registro AX
MOV BX, 28AB Se asigna el valor 28AB al registro BX
ADD AX, BX
NOP
Ejercicio 2
NOP
MOV AX, 1234
MOV BX, 28AB
ADD AX, BX Guarda la sua de AX ! BX en el registro AX"
NOP
Ejercicio 3
DS# 1$% 2&
DS# 1$1 BA Ala'ena el dato en la dire''i(n 1$%
DS# 2%% 4)
DS# 2%1 12 Ala'ena el dato en la dire''i(n 2%%
NOP
MOV AX, *1$%+ &l 'ontenido de la dire''i(n 1$% las asigna a AX
MOV BX, *2%%+ &l 'ontenido de la dire''i(n 2%% del segento de'(digo la asigna a BX
ADD BX, AX Guarda la sua de AX ! BX en el registro BX"
NOP
Ejercicio 4
NOP
MOV A, %2
MOV D-, 24
.N/ 21 )on'atena el dato de A ! D-
MOV D-, 20
.N/ 21 )on'atena el 'ontenido de A ! D-
8/16/2019 Practica 1 Lab Micropro PC (espol)
8/16
NOP
Ejercicio 5
NOP
MOV A, 2 un'i(n 2 de MSDOS
MOV D-, 2A dato ue deanda la un'i(n 2
.N/ 21 ee'uta la un'i(n 2
MOV D-, 23 nuevo dato
.N/ 21 ee'uta la un'i(n 2
.N/ 2% regresa al nivel de 'oandos
NOP
Ejercicio
NOP
MOV A, 5
MOV DX, %2%)
.N/ 21
MOV A, %
.N/ 21
DB %D, %A, 67N).ON 5 D& S.S/&MA MS9DOS:,%D, %A,:;:
Ejercicio !
NOP
MOV A, 5
MOV DX, %2%%
.N/ 21
.N/ 2%
8/16/2019 Practica 1 Lab Micropro PC (espol)
9/16
Ejercicio# 2
8/16/2019 Practica 1 Lab Micropro PC (espol)
10/16
Ejercicio# 3
Ejercicio# 4
8/16/2019 Practica 1 Lab Micropro PC (espol)
11/16
Ejercicio# 5
8/16/2019 Practica 1 Lab Micropro PC (espol)
12/16
Ejercicio# 6
Ejercicio# 7
8/16/2019 Practica 1 Lab Micropro PC (espol)
13/16
!. "onclusiones
• Se (o:r 9a+i(iari)ar co$ (a ar7#itect#ra de( (e$:#a'e e$sa+b(ador; para
esto se $ecesit (a a,#da de #$a +á7#i$a &irt#a( J
8/16/2019 Practica 1 Lab Micropro PC (espol)
14/16
• Se (o:raro$ obser&ar (os re:istros , p#$teros 7#e co$tie$e e( CPU; co$
(a #ti(i)aci$ de (a +á7#i$a &irt#a( e$ +odo BP; #sa$do e( Deb#:>Modi9ica+os re:istros +edia$te asi:$aci$ # operacio$es e$trere:istros> E$te$di+os e( #so de 9#$cio$es de( procesador +edia$te (a
&is#a(i)aci$ e i+p(e+e$taci$ a( traba'ar co$ caracteres ASCCI ei+pri+i6$do(os por pa$ta((a>
$. %ecomendaciones
• C#a$do se i$:resa$ datos se debe to+ar e$ c#e$ta e( orde$a+ie$to de(
pe7#e8o i$dio; esto si:$i9ica 7#e pri+ero se i$:resa e( +e$os
si:$i9icati&o , (#e:o e( +as si:$i9icati&o>
• Se debe to+ar e$ c#e$ta e$ 7#e ($ea de cdi:o se e$c#e$tra a(
e'ec#tar e( tracer; por (o c#a( sie+pre se debe pre:#$tar 7#e +arca e( IP;sie+pre es pre9erib(e i$icia(i)ar e( p#$tero de i$str#ccio$es IP co$ e(&a(or 7#e desea+os #sar e$ e( co+a$do CS% IP co$ e( ob'eti&o deap#$tar a #$a ($ea de cdi:o :e$era(+e$te 133; co$ocida por $osotros, as poder &is#a(i)ar (a e'ec#ci$ de( se:+e$to de i$str#ccio$es>
• Es pre9erib(e (a creaci$ de #$a +á7#i$a &irt#a( para e&itar da8os
i$ter$os a $#estro procesador; 0a, 9#$cio$es de +#c0o c#idado 7#ea9ecta$ (a e'ec#ci$ $or+a( de (os procesos de( CPU si $o recibe$ (ospará+etros correctos; p#die$do caer e$ #$ (a)o si$ 9i$ e i$0ibie$do (a+á7#i$a>
&. 'ne(os
Ejercicio# 1
)"u*l es el resultado de la suma que la instrucción 'DD deja en el
operando destino '+,
AB?ADF
Ejercicio# 2
"on el comando - ejecute paso a paso las tres instrucciones. )"u*l es el
resultado de la suma que la instrucción 'DD '+ /200 deja en su
operando destino '+,
AB 43
8/16/2019 Practica 1 Lab Micropro PC (espol)
15/16
Ejercicio# 3
En el segmento de código "# 100 con comando ' ensamble una
secuencia de instrucciones que sume los dos nmeros de 1 bits y deje el
resultado en el registro +. "on - ejecute sus instrucciones paso a paso
y erifique el contenido final de +.Escriba e( co$te$ido 9i$a( de B CCA
Ejercicio# 4
)6u7 pasa en pantalla cuando el procesador ejecuta por primera e8 la
instrucción 9:- 21, luego )qu7 pasa en pantalla cuando ejecuta 9:- 21por segunda e8,
La 9#$ci$ INT a( e'ec#tarse por pri+era &e) se co$cate$a e( AGDL ,:#ardá$do(o e$ AB 3//@> La se:#$da &e) se co$cate$a e( AGDL , se:#arda e$ AB; co+o se ca+bi e( DL/" a0ora AB 3//">
Ejercicio# 5
)6u7 se isuali8a en pantalla,
Se &is#a(i)a e( +e$sa'e% E( pro:ra+a 0a ter+i$ado de 9or+a $or+a(
Ejercicio# 6
1; En la # )6u7 papel desempe?a el car*cterespecial @AB,Sir&e para 9i$a(i)ar e( pro:ra+a>
2; Ca directia D.La directi&a D JDe9i$e b,teK reser&a +e+oria para datos de tipob,te J! bitsK; o para #$a &ariab(e de este tipo; i$icia(i)a$do o $o dic0ob,te , (os posteriores>
3; #ignificado de los caracteres de control 0D y 0'.3A% Es e$ s+bo(o e( LF J(i$e9eedK 7#e es sa(to de ($ea>
3D% Es e( s+bo(o CR 7#e es retor$o de carro>
Ejercicio# 7
)6u7 imprime tome foto a la pantalla,
8/16/2019 Practica 1 Lab Micropro PC (espol)
16/16
isualice el código de m*quina de las cinco instrucciones use el
comando
U CS: 100 109 y escriba el código de m*quina de cada instrucción
">D9> DE ='6F9:'
NOP 3HE% 3133 H3
MO AG; H 3HE% 3131 b@3H
MO DB; 3/33 3HE% 313? A333/
INT /1 3HE% 313" CD/1
INT /3 3HE% 313! CD/3E(plique el papel que desempe?an los tres ltimos códigos '#"99 de la
cadena de caracteres mostrada arriba.
3A% Es e$ s+bo(o e( LF J(i$e9eedK 7#e es sa(to de ($ea>
3D% Es e( s+bo(o CR 7#e es retor$o de carro>
/@% Es e( s+bo(o ; c#a$do se (ee este s+bo(o sa(i+os de( pro:ra+a>