SoloCodigo
Programación Específica => Microcontroladores => Mensaje iniciado por: karen81 en Domingo 1 de Febrero de 2004, 05:11
-
:huh: una pregunta sobre programas en pic.
si tengo unos datos en las siguientes localidades
0000= 02
0001= 05
0002= 01
y he definido
datos equ 0x00
para accesar a estos datos en una rutina
lo que hago es tomo de la 0000 a 02
pero el problema es que para tomar a 05 no se como hacer
intente colocando
incf datos, para que supuestamente me ubicara en la 0001 y me permitiera sacar
a 05 pero no, lo que hace es aumentar a 02 por 03, no se como hacer esto :( ¡¡¡¡¡¡¡¡¡¡¡¡ayuda urgente !!!!!!!!!!!!!!!!!!!!!!!!!!! :scream:
karengiraldo81@hotmail.com
-
Hola Karen, como estas?
Mira lo que deseas hacer se llama direccionamiento indirecto y necesitas utilizar los registros FSR e INDF, el fsr es quien te mantiene la dirección que tu estas utilizando y el INDF es quien te mantiene el valor de la dirección asignada a FSR, así que lo que tienes que hacer es algo como
movlw 00h
movwf FSR ;direccionaste fsr a la 00
MOVLW 02H
MOVWF INDF ;en esa direción 00 colocaste el valor 02h
INCF FSR,1 ; direccionaste en fsr +1 o sea en 01
MOVLW "EL VALOR Q QUIERES"
MOVWF INDF ; colocas en la direción 01 el valor q quieras
Esto es para escribir, para leer el dato es lo mismo incrementas FSR y luego colocas INDF en W (movf INDF,0) y listo
Espero haberme hecho entender y ser de ayuda B) .
Un saludo
Leo
-
Hola Karen, como estas?
Mira lo que deseas hacer se llama direccionamiento indirecto y necesitas utilizar los registros FSR e INDF, el fsr es quien te mantiene la dirección que tu estas utilizando y el INDF es quien te mantiene el valor de la dirección asignada a FSR, así que lo que tienes que hacer es algo como
movlw 00h
movwf FSR ;direccionaste fsr a la 00
MOVLW 02H
MOVWF INDF ;en esa direción 00 colocaste el valor 02h
INCF FSR,1 ; direccionaste en fsr +1 o sea en 01
MOVLW "EL VALOR Q QUIERES"
MOVWF INDF ; colocas en la direción 01 el valor q quieras
Esto es para escribir, para leer el dato es lo mismo incrementas FSR y luego colocas INDF en W (movf INDF,0) y listo
Espero haberme hecho entender y ser de ayuda B) .
Un saludo
Leo
:) ok. entendi bien.
gracias :comp: