Está en la página 1de 2

Práctica 2

Martínez Sixto Adán.

Universidad Nacional Autónoma de México


Facultad de Ingeniería
División de Ingeniería Eléctrica
Laboratorio de Microncontroladores y microprocesadores
Grupo teoría: 3 ; Grupo laboratorio: 5
14 de septiembre del 2017.
Semestre 2018-1

1. Objetivo

Implementar en la tarjeta de desarrollo métodos de


ordenamiento.

2. Introducción

En el manejo de datos necesitamos diferentes métodos


para ordenar y uno de los primeros métodos es la
burbuja.

El método de ordenación por burbuja es el más conocido


y popular entre estudiantes y aprendices de
programación, por su facilidad de comprender y
programar; por el contrario, es el menos eficiente y por
ello, normalmente, se aprende su técnica pero no suele
utilizarse.

La técnica utilizada se denomina ordenación por burbuja


u ordenación por hundimiento debido a que los valores
más pequeños “burbujean” gradualmente (suben) hacia
la cima o parte superior del array de modo similar a
como suben las burbujas en el agua, mientras que los
valores mayores se hunden en la parte inferior del array.

3. Material
 Microncontrolador tiva tm4c1294ncpdt
 Cable de datos USB
 Pc con software ccs

4. Desarrollo

En la primera actividad se solicitó que se implementara


en la tarjeta de desarrollo, un programa que ordene 10
datos de 8 bits, de mayor a menor.

Actividad 1

La codificación del programa de muestra a continuación


aplicando el método de la burbuja.
ciclo2
ldrb r4,[r2]
ldrb r5,[r3]
cmp r4,r5
bhi A
strb r4,[r3]
strb r5,[r2]
A add r3,#0x01
subs r1,#0x01
bne ciclo2
add r2,#0x1
add r3,r2,#0x01
subs r0,#0x01
bne ciclo1
mov r0,#0x0A
movw r2,#0x0100
movt r2,#0x2000
ciclo3
ldrb r4,[r2]
add r2,#0x01
udiv r1,r4, r6
mul r1,r1,r6
subs r1,r4,r1
beq impar
par
add r7,#0x01
b R
impar
add r8,#0x01
R subs r0,#1
bne ciclo3
fin b fin

5. Conclusiones

En esta segunda actividad primero se trató de


implementar una operación and y dependiendo del
resultado de determinaba si era par o impar. Sin
embargo solo funcionaba en realidad primer registro,
para la solución fue como simular la función de módulo
Actividad 2 qué encontramos en C, es decir el registro de divide
entre dos y el resultado se multiplica por dos. Después
Del mismo programa se tiene que contabilizar hacemos una instrucción de resta para el valor original
y el último resultado qué tenemos. Al último se hace una
.global main comparación para determinar si es par o impar y se
.data guardaban los números de veces en un registro nuevo.
.text
main
mov r0,#0x0a
mov r6,#0x02
mov r7,#0x00
mov r8,#0x00
movw r2,#0x0100
movt r2,#0x2000
add r3,r2,#0x01
ciclo1
mov r1,r0

También podría gustarte