Anda di halaman 1dari 4

Asignatura: Organizacin de

computadoras

Objetivo de la prctica:
Define tres localidades de memoria, la primera y segunda con datos, rstale la segunda a la
primera y guarda el resultado en la tercera. Usa las instrucciones bsicas de movimiento entre W
y los files (localidades). Direccionamiento Indirecto

Escriba un programa que muestre en 8 Leds en el puerto B de un 16F628, el dato 33h de forma
constante. Inhabilite las resistencias internas de Pull Up (Coloque resistencias de 10 KOhms)

Diseo:
El cdigo sigui el siguiente esquema:
Construccin del programa:
;Define tres localidades de memoria, la primera y segunda con
;datos, rstale la segunda a la primera y guarda el resultado en la tercera. Usa las
;instrucciones bsicas de movimiento entre W y los files
;(localidades). Direccionamiento Directo

;zona de configuracin:-----------------------------------
__CONFIG
_CP_OFF&_WDT_OFF&_PWRTE_ON&_MCLRE_ON&_INTOSC_OSC_NOCLKOUT

LIST P=16F628A ;Indica el modelo de PIC usado


INCLUDE<P16F628A.INC> ;Definicion de los operandos utilizados

;Zona de Datos--------------------------------------------------

OP1 EQU 0x20 ;define operando 1


OP2 EQU 0x21 ;define operando 2
RESU EQU 0x22 ;define resultado
;Zona de codigo----------------------------------------------

ORG 0 ;comando que indica al ensamblador la direccin


; de la memoria de programa donde se situar
; la siguiente instruccion
movlw 05 ;5 ==> W
movwf OP1 ;W ==> Localidad 1 (0x20)
movlw 02 ;2 ==> W
movwf OP2 ;W ==> Localidad 2(0x21)
movf OP2,0 ;Localidad 2 (0x21) ==> W
subwf OP1,0 ;Localidad 1 (0x21) - W ==> W
movwf RESU ;W ==> Resultado (0x22)
END

Resultados:

Conclusiones:
Se hizo un primer acercamiento con los registros que contiene el PIC 16F628, en el que usando
las recientemente aprendidas instrucciones movlw, movwf, movf y subwf, se logr realizar la
sustraccin solicitada entre registros. Con movlw se transfiri un valor constante hexadecimal al
registro W, con movwf se hizo el movimiento de lo contenido en W a alguno de los registros (o
files, como se les suele llamar) que estbamos usando. La instruccin movf permite que, segn el
parmetro especificado (entre 0 y 1) se pueda elegir entre pasar el contenido del registro con el
que estemos trabajando (que tambin se especifica como parmetro de la instruccin) al registro
W (con el valor de parmetro 0), o volverlo a mandar al mismo registro sobre el que se trabaje
(con el valor de parmetro 1), siendo que en este caso la instruccin nos fue til para pasar el
valor de uno de nuestros registros a W. Y con la instruccin subwf, se rest el contenido de W al
registro parmetro y el resultado se guard en el registro W (de manera equivalente a la de la
instruccin movf, usando un 0 como parmetro de la instruccin). Tambin es prudente
mencionar que en la prctica hicimos uso del direccionamiento indirecto, en el que mediante
identificadores (algo muy similar a las variables en la programacin en alto nivel), definimos
(sobre)nombres para los registros con los que se trabajaba, puesto que resulta ms fcil trabajar
con palabras que representen a los registros que con las propias direcciones de los mismos. Para
ello utilizamos el operador EQU.

Anda mungkin juga menyukai