Practica 1 Lab Micropro PC (espol)

Embed Size (px)

Citation preview

  • 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>