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: