Daniel schrieb:
> Hallo,
>
> Beispiel aus dem Datenblatt zum Löschen der Bank 1
>
>
1 | > LFSR FSR0, 100h
|
2 | > NEXT CLRF POSTINC0
|
3 | > BTFSS FSR0H, 1
|
4 | > BRA NEXT
|
5 | > CONTINUE
|
6 | >
|
>
>
> Ich denke, dass folgendes gilt
> FSR0 = FSR0H, FSR0L
>
> dann habe ich doch direkt eine 1 in FSR0H und skipe BRA
> POSTINC0 macht 0x100 -> 0x101, folglich bleibt 1 immernoch in FSR0H
> Oder mache ich irgendwo eine falsche Annahme?
Der Befehl BTFSS FSR0H, 1 macht erst einen skip, wenn der Inhalt sich
von 1 in 2 geändert hat (die 1 ist die Bitnummer, nicht der Wert).
> noch eine Frage
> Geht statt
> LFSR FSR0, 100h
> auch
> MOVLW 0x00
> MOVWF FSR0L
> MOVLW 0x01
> MOVWF FSR0H
> ?
>
> Gruß
Ja, das geht genauso, braucht nur doppelt so viel Speicherplatz und
Verarbeitungszeit und zusätzlich wird das W-Register verändert.