¿ Como implemento un puntero en assembler para PICs ?

#1
Bueno lo que tengo es un Pic 12F683 con el que muestreo una señal analógica y luego tengo que sacar un promedio de esas muestras. El tema es que necesito algo así como la pila que tienen los micros de Freescale para ir metiendo los valores en la RAM. No se como se implementa esto en los PIC ya que no tienen pila (stack). O bien necesitaría un puntero que me apunte a una posición de RAM, el cual se pueda ir incrementando.

También había pensado en ir sumando los valores y usar solo una posicion de RAM pero esto me alentiza el período de muestreo, cosa que me perjudica.

No se si me explique bien. Aclaro que programo en assembler.

Bueno gracias y perdon por las molestias.
 
#3
Sammaael, el stack que tienen los Pic no es al que yo me refiero. El stack que tienen los pic es para guardar los valores del PC, de W, etc momentaneamente cuando se llama a una interrupción. Es algo que se hace automático y uno no puede manejar ese stack. Yo lo que necesito es algo así como un puntero. Gracias.
 
#6
Talvez te sirva el direccionado indirecto pero no estoy seguro si ese pic soporta esto.
Para eso se utiliza el FSR, IRP e INDF
 
#7
Si no me equivoco eso se hace con el registro FSR que está en la posición 04h, es para direccionamiento indirecto y justamente se podía ir incrementando para ir a distintas posiciones de memoria. Perdona que no te ponga un ejemplo pero hace mucho que no lo uso y no me acuerdo bien en detalle como era la programación. Espero que con el dato puedas investigar como se usaba.

Salu2..

edit:
Me ganaron de mano por unos minutos. je, pero bueno como aporte agrego que el pic 12F683 si soporta el direccionamiento indirecto. Y como decía está en la posición 04h
 
Última edición:
#8
DOA y AND_77 les quiero agradecer, eso era lo que necesitaba. El pic este tiene esos registros y ya me fijé en el datasheet como se usan. Es algo importante que no sabía. Estaba como escondido, jaja. Bueno saludos y gracias de nuevo.
 
Arriba