Electronica

Solo disponible en BuenasTareas
  • Páginas : 5 (1206 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de marzo de 2011
Leer documento completo
Vista previa del texto
Instituto Tecnológico de Nuevo Laredo
Departamento de Ingeniería Eléctrica y Electrónica

Ing. Electrónica
Aplicación a los Microcontroladores
Ing. José Juan Rodríguez Loera

Practica No 3
Par-Impar, Positivo-Negativo e Histograma.

Alumno:
Juan José Flores Mendoza
05100137

Nuevo Laredo, Tamps. Marzo del 2011
* OBJETIVOLa comprensión del uso de tablas, manejamiento de Brincos, y corrimientos y utilizar CCRlas banderas.

* MARCO TEORICO

Corrimiento
Para hacer corrimiento o girar los acumuladores o lugares de memoria los cambios lógicos a la izquierda y aritmética a la izquierda. Multiplicación por dos a la izquierda . Y división entre 2 a la derecha.

Short Branch

  Cuando una condición de lasBanderas especificada se cumple, una de 8 bits con desplazamiento se añade al valor en el contador de programa. La ejecución del programa continúa en la nueva dirección.
El rango de valores numéricos brinco corto  desplazamiento es de $ 80 (-128) a $ 7F
(127) de la dirección de la siguiente ubicación de memoria después de que el valor de desplazamiento

Comparación

Las operaciones decomparación y la prueba de realizar la resta entre un par de
registros o entre un registro y la memoria. El resultado no se almacena, pero
códigos de condición son fijados por la operación. Estas instrucciones son
generalmente se utilizan para establecer las condiciones de las instrucciones de brinco.

PAR O IMPAR

ORG $3800 ; Aquí comenzaremos a cargar nuestra tabla de datos
TABLA: FCB$08,$15,$03,$04,$09,$10,$10,$25,$0A,$0F,$04,$80,$99,$25,$36,$FF
ORG $3820 ;Aquí se guarda tabla de resultados
RESULTADO FCB $0,$0

; code section
ORG ROMStart
Entry:
_Startup:
LDX #TABLA ;Se carga la dirección de la tabla en el registro X
LDY #$11 ;Se le da un valor a Y, ya que es el contador, es por eso que se le da $11, Unvalor mas grande que el de la tabla para que alcance a llegar a cero y después brinque a FIN.
INICIO:
DEY ;Resta $01 al acumulador Y,
BEQ FIN ;Cuando Y=0 Brinca a Fin que es donde termina el ciclo donde termina el programa.
LDAA 1,X+ ;Se carga en el acumulador A, lo que está en la memoria, después de cargar el dato, incrementamos el valorde X, para así en el siguiente siclo, no lea el mismo dato.
LSRA ; Corrimiento a la derecha
BCS IMPAR ;Si C=0 sigue C=1 Brinca a Impar.
INC RESULTADO ;Como C=0 incrementamos el valor que se encuentra en la tabla, RESULTADO $3820
BRA INICIO ;Regresa al ciclo de para tomar el siguiente valor.
IMPAR:
INC RESULTADO+1; Como C=1 Incrementamos lo que hay en la dirección $3821
BRA INICIO ; Regresamos INICIO y comienza el programa a cargar otro valor
FIN: ;Cuando el contador llega cero brinca aquí indicando que termino el programa

Resultados
$3820=Par
$3821=impar

POSITIVO O NEGATIVO
ORG $3800 ;Comienza a cargar tabla principal
TABLA: FCB$25,$40,$90,$F5,$F9,$F2,$89,$8A,$79,$15,$56,$82,$A2,$B3,$C4,$D6,$06,$09,$50,$81
ORG $3820 ;comienza a cargar tabla de resultados.
RESUL: FCB $0,$0
; code section
Entry:
_Startup:
LDX #TABLA ; Carga el valor de la dirección de la tabla $3800 en el registro X
LDY #$15 ; Contador un valor mas para que llegue a ceroal final de la tabla
INICIO:
DEY;Le resta $01al contador
BEQ FIN ; si contador es Cero brinca a FIN
LDAA 1,X+ ; carga en A el valor que está en X y después incrementa 1 el registro X para cargar el siguiente valor en la siguiente vuelta.
LSLA ; Corrimiento lógico a la para cargar el bit 7 al carry y observar si es 1 o 0 si es 1 es negativo, si...
tracking img