Die PIC18Fxxx haben 3 FSR Register 0,1 und 2 und mit denen kann man den ganzen bereich des RAM´s adressieren. Die erste Speicherstelle wird mit dem Befehl lsfr FSRx festgelegt und man kann mit POSTINC/POSTDEC die adresse nach der Ausführung des Befehls automatisch in- decrementieren lassen. Die Speicherstelle wird dann INDFx heissen. Hier ein Beispiel aus meinem Programm:
MfG
Code:AddCB lfsr FSR0,B0 ; C+B>C lfsr FSR1,C0 goto AddReg AddDC lfsr FSR0,C0 ; D+C>D lfsr FSR1,D0 AddReg bcf _Ferr ; 40 bit, (5 Bytes) bcf _Fcrp movlw 5 movwf ATemp AddRegL bcf _Fcra movf INDF0,0 addwf INDF1,0 btfsc _C bsf _Fcra daw movwf INDF1 btfsc _C bsf _Fcra btfss _Fcrp goto AddRegN movlw 1 addwf INDF1,0 daw movwf INDF1 btfsc _C bsf _Fcra AddRegN bcf _Fcrp btfsc _Fcra bsf _Fcrp movf POSTDEC0,1 movf POSTDEC1,1 decfsz ATemp,1 goto AddRegL btfsc _Fcra bsf _Ferr return







Zitieren

Lesezeichen