Autor Tema: referencia a posicion de memoria desde variable  (Leído 1629 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado vasconinicolas

  • PIC16
  • ***
  • Mensajes: 124
referencia a posicion de memoria desde variable
« en: 16 de Abril de 2006, 16:08:42 »
Hola amigos, tengo una consulta que es mas dificil de exponer que seguramente su respuesta.
Estoy programando en asm y necesito por ejemplo poner un "1" en un bit en particular de una posicion de memoria, bien si escribo:

BSF 0x30,0

esto pone un 1 en el bit 0 de la posicion de memoria 0x30.... ahora aqui esta la cosa.. Como hago si lo que yo necesito es que en lugar de un literal (0x30) haya una variable que contenga por ejemplo ese valor 0x30 de modo que

BSF variable,0

me ponga un 1 en el bit 0 de la "posicion de memoria 0x30" y no directamente sobre el valor que pueda tener la variable en si??? me explico.-........????

Todo esto es porque necesito barrer una matriz de datos que tengo cargada desde la posicion de memoria 0x30 a la 0x50

Espero haberme expresado lo mejor posible ya que no me resulta facil explicar esto...
Muchas gracias por su tiempo y espero poder aclarar este asunto ya que me simplificaria mucho el codigo...
"No hacen ciencia los países ricos,
Son ricos los países por hacer ciencia"

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: referencia a posicion de memoria desde variable
« Respuesta #1 en: 16 de Abril de 2006, 16:19:11 »
Hola

Parece que hablas de direccionamiento indirecto.

Revisa la hoja de carcaterísticas de tu PIC. El registro FSR es un puntero que se ubica en la dirección 04h y el INDF es un registro que apunta al contenido de FSR y se ubica en 00h. Te pongo el ejemplo que viene en la datasheet del PIC16F84A:

- El registro 05h contiene el dato 10h
- El registro 06h contiene el dato FFh
- Carga 05h en FSR (FSR=05h)
- Lee el registro INDF y te entregará el contenido de 05h, es decir, 10h
- Incrementa FSR (es decir, ahora es 06h)
- Lee INDF y te entregará el dato que hay en 06h, es decir, FFh


Desconectado vasconinicolas

  • PIC16
  • ***
  • Mensajes: 124
Re: referencia a posicion de memoria desde variable
« Respuesta #2 en: 16 de Abril de 2006, 16:32:45 »
Gracias MigSantiago, debi suponer que el redireccionamiento indirecto tenia alguna aplicacion!!! jeje, es que nunca lo habia utilizado....
me voy a leer sobre el tema...
saludos y muchas gracias....

Nicolas Vasconi
"No hacen ciencia los países ricos,
Son ricos los países por hacer ciencia"

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: referencia a posicion de memoria desde variable
« Respuesta #3 en: 16 de Abril de 2006, 16:36:31 »
 :) yo tampoco lo utilizaba cuando usaba lenguaje ensamblador, pero si lo trae el PIC es porque debe tener algún uso útil  :wink:


 

anything