ich habe es jetzt so gelöst:

Code:
Speichern
;speichern: // Bank 1-6: 1=Position1LowIst;2=Position1HighIst;3=Position2LowIst;4=Position2HighIst;5=MessWertLow;6=MessWertHigh
 
 movlw	D'1'
 movff	WREG,FSR0H
 movff	SpeicherZähler,	FSR0L
 movff	Position1LowIst,INDF0			
 
 movlw	D'2'
 movff	WREG,FSR0H
 movff	Position1HighIst,INDF0	


 movlw	D'3'
 movff	WREG,FSR0H
 movff	Position2LowIst,INDF0	

 movlw	D'4'
 movff	WREG,FSR0H
 movff	Position2HighIst,INDF0	
 
 movlw	D'5'
 movff	WREG,FSR0H
 movff	MessWertLow,INDF0		
 
 movlw	D'6'
 movff	WREG,FSR0H
 movff	MessWertHigh,INDF0	

return
;;**************************************************************
SpeicherAuslesen
;Istpositionen retten:
 movff	Position1LowIst,Position1LowIstKopie
 movff	Position1HighIst,Position1HighIstKopie
 movff	Position2LowIst,Position2LowIstKopie
 movff	Position2HighIst,Position2HighIstKopie


SpeicherAuslesenLoop
 
 movlw	D'1'
 movff	WREG,FSR0H
 movff	SpeicherZähler,	FSR0L
 movff	INDF0,Position1LowIst

 movlw	D'2'
 movff	WREG,FSR0H
 movff	INDF0,Position1HighIst

 movlw	D'3'
 movff	WREG,FSR0H
 movff	INDF0,Position2LowIst	

 movlw	D'4'
 movff	WREG,FSR0H
 movff	INDF0,Position2HighIst	

 movlw	D'5'
 movff	WREG,FSR0H
 movff	INDF0,MessWertLow	

 movlw	D'6'
 movff	WREG,FSR0H
 movff	INDF0,MessWertHigh	
 
 call	Sende6BytePositionsUndMesswerte

 decf	SpeicherZähler,1
 movlw	D'0'
 CPFSEQ	SpeicherZähler
 goto	SpeicherAuslesenLoop

 clrf	SpeicherZähler

;Ab hier ist der Speicher ausgelesen:
;aktuellen Ist-Wert zurücklesen:
 movff	Position1LowIstKopie,Position1LowIst
 movff	Position1HighIstKopie,Position1HighIst
 movff	Position2LowIstKopie,Position2LowIst
 movff	Position2HighIstKopie,Position2HighIst
 ;call	ADWandlung
 ;call	Sende6BytePositionsUndMesswerte			;letzte Istposition dem PC mitteilen
 return

Ich habe zwar noch einen scheinbar sporadischen Fehler bei der Messwertaufnahme, der sich so äußert, dass ein Positionswert mal nicht stimmt, aber dass wird wohl an etwas anderem liegen....

Vielen Dank für Deine Hilfe!!! =D>