examen_micro2.doc

Embed Size (px)

Citation preview

  • 8/12/2019 examen_micro2.doc

    1/6

    Microprocesadores II 1 Parcial1. Localizamos en un rea de memoria en bytes , tamao N, todos los caracteres ASII coincidentes con loscorrespondientes de su nombre. !l n"mero de caracteres coincidentes como el n"mero de los no coincidentesse almacenarn en posiciones inmediatas a N.

    or# $1%%%pro#

    lea n,a% &puntero a memoria N lea coin,a1 &puntero a coincidentes

    mo'e.( a1,d)

    sub.( a%,d) &d)*tamao memoria N lea nombre,a1 mo'e.( a%,d+ sub.( a1,d+ mo'e.b d+,t-nom &d+*tamao del nombreciclo1 subi.( /$1,d) bmi 0in mo'e.b a%,d% &a'anzamos por la memoria N mo'e.b t-nom,d+ mo'e.( a1,a2ciclo2

    subi.b /$1,d+ &a'anzamos por cada letra del nombre

    bmi otro &buscando coincidentes en N mo'e.b a2,d1 cmp.b d1,d% bne ciclo2 addi.( /$1,coin &encontr3 coincidentes sumar 1 bra ciclo1otro addi.( /$1,no-coin &no coincide se incrementa no-coin bra ciclo10in rtr

    or# $2%%%nombre dc.b 45u#o4 &nombre a buscar coincidentest-nom dc.( $1N dc.b 45u#oabad0d0rebnbcder4 &memoria Ncoin ds.( $1no-coin ds.( $1

    end pro#2. 6n sistema de cale0acci3n inicia su operaci3n 0i7ando la temperatura determinada .8ealizar un pro#rama9ue permita realizar la si#uiente secuencia

    In#resar un carcter determinado por medio de s(itc5es, el cual se almacena como pass(ord

    on el pass(ord acti'ar el control de temperatura.

    :e0inir el sistema de pre'enci3n cuando rebasa la temperatura deseada

    In5abilitar el control con un I8; de0inido

    INI

  • 8/12/2019 examen_micro2.doc

    2/6

    mo'e.l /int=proc,IN

  • 8/12/2019 examen_micro2.doc

    3/6

    &para 9ue los cambios de estado sean 'isibles

    mo'e /$2C%%,S8 &in5abilitamos rutinas &ya 9ue en el proceso de rotacion &los cambios de sentido e inicio de rotacion enerarian errores

    mo'e.( a2,a% &rotamos 2 lon#s dados por nombremo'e.( a%,a1 &el 1 lon# es el 9ue se muestra en los diplays

    sub.( d%,a1 &el proceso de rotacion solo dependen de las 'ariables mo'e.b a%,d1 &d% sentido de rotacion clr.b dB &y a2 puntero al 1 bitciclo mo'e.b a1,a% sub.( d%,a% sub.( d%,a1 addi.b /$1,dB cmpi.b /$=,dB bne ciclo mo'e.b d1,a% &se termino la rotacion bra inicio &salta a inicio

    delay mo'e.l /$B%%%%%,:) &rutina de retardoloop sub9.l /1,:) bne loop rts

    H Interrupt C routineint1proc

    lea nombre,a2 &!stablecemos rotacion a iz9uierda mo'e.( /$E1,d%

    rteH Interrupt = routineint2proc

    lea auF,a2 &!stablecemos rotaci3n a derec5asubi.( /$1,a2

    mo'e.( /$1,d%rte

    or# $2%%%nombre dc.b D%111%11%,D%%11111%,D%11111%1,D%%111111 dc.b D%%%%%%%%,D%11%11%1,D1%111%%1,D%%%%%%%%auF ds.b $1 end pro#

    ). 8ealizar un pro#rama 9ue permita relacionar dos pares ordenados en el plano FEy con un determinadose#mento de memoria, a continuaci3n calcular el rea 0ormada por los dos puntos y el e7e F.

    or# $1%%%pro# lea p1,a% mo'e.( a%,d% lea p2,a1 mo'e.( a1,d1 mo'e.b d%,d2 mo'e.b d1,dB

  • 8/12/2019 examen_micro2.doc

    4/6

    lsr.( /G,d% lsr.( /G,d1 sub.b d%,d1 sub.b d2,dB muls d1,d2 muls d1,dB di's /2,dB add.( d2,dB mo'e.( dB,area

    stop /$2%%%

    or# $1+%%p1 dc.b B,1p2 dc.b C,+area ds.( 1 end proa

    +. Poner en e7ecuci3n y mostrar leds, un al#oritmo 9ue muestre la si#uiente secuencia en 0orma inde0inida$%, $1!, $, $!G, $%, $=1, $BB, $1=, $%

    !l pro#rama debe #eneralizar el al#oritmo a (ords y lon#s

    leds e9u $!%%2

    or#$ 1%%%pro#

    lea numero,a%& #uarda el numero para b, (, y l lea numero2,a1& #uarda otro numero para b, (, y l

    lea numeroB,a2& #uarda el si#uiente numero para b, ( y l

    iniciomo'e.l a%,d2& mo'emos el primer numero al re#istro para #enerar

    mo'e.l d2,a%& copiamos para no perder el anterior numero mo'e.l a1,d2&mo'emos el otro numero al re#istro para #enerar mo'e.l d2,a1& copiamos el si#uiente para no perder el anterior numero mo'e.l a2,d2& mo'emos el si#uiente numero al re#istro para #enerar mo'e.l d2,a2&copiamos en la si#uiente posicion para no perder el numero anterior mo'e.l /$1+%%,aB& esta direccion es para #uardar lo #enerado

    mo'e.b /G,d%& in#resar el numero para b ), ( G y l 1C mo'e.b d%,d1& #uardamos como un contador mo'e.l a%,d=& empezamos a #enerar con el primer numero mo'e.l a1,dC& empezamos a #enerar con el se#undo numerodenue'o cmp /$%%,d%& comparamos nuestro contador be9 si#uite& cuando termina salta a la se#unda parte mo'e.l a%,d2& copiamos el primer numero para #uardar en la direccion

    mo'e.l d2,aB& #uardamos en los numeros #enerados mo'e.( d2,leds& mostramos en el re#istro de leds bsr delay& salto a retardo

    add.l d=,d=& multiplica el 'alor 9ue esta en el re#istro

    add.l d=,a%& sumamos para #enerar lo 9ue 9ueremos mo'e.l a1,d2& para #enerar la si#uiente secuencia mo'e.l d2,aB& #uardaamos los numeros #enerados

    mo'e.( d2,leds& mostramos por leds el numero #enerado bsr delay&salto al retardo di's /$2,dC& para #enerar tenemos 9ue di'idir add.l dC,a1& sumamos al se#undo numero #enerado subi.b /$1,d%& restamos nuestro contador de control bra denue'o& salto incondicional si se terminosi#uite

  • 8/12/2019 examen_micro2.doc

    5/6

    mo'e.l /$1,d=& inicializamos el re#istro para la secuencia si#uiente mo'e.l /$%1,a%& inicializamos la direccion para la se#unda secuenciaotro

    cmp /$%%,d1&comparamos si 5emos terminado be9 0inal

    mo'e.l a2,d2 mo'e.l d2,aB mo'e.( d2,leds

    bsr delay

    asr.( /$%1,d2

    mo'e.l d2,a2 mo'e.l a%,d2 mo'e.l d2,aB

    mo'e.( d2,leds bsr delay

    add.l d=,d= add.l d=,a% subi.b /$1,d1

    bra otro

    delay mo'e.l /$+0001,d+loop sub9.l /1,d+ bne loop0inal subi /$),a% subi /$),a1

    subi /$),a2 bra inicio stop /$2%%%

    or# $11%%numero dc.l $1%%numero2 dc.l $G%numeroB dc.l $G%%% end pro#

    &odi0icador ML

  • 8/12/2019 examen_micro2.doc

    6/6

    lea codML