PIC-Programmierung
Befehl INCFSZ
- Inkrementiere und springe bei Null
- Tab. 1
- INCFSZ: inkrementiere f und springe bei 0
Syntax: INCFSZ f,d Operanden: 0 ≤ f ≤ 127 d = [0,1] Operation: (f) + 1 → d springe, wenn Ergbnis = 0 Zyklen: 1(2) Wörter: 1 Beeinflusste Flags: keine Code: 00 1111 dfff ffff
Das angesprochene Register wird inkrementiert und das Ergebnis anschließend im gleichen Register (d=1) oder im W-Register (d=0) abgelegt. Entstand beim Inkrementieren Null, so wird anschließend NOP durchgeführt.
Wichtig bei der Anwendung dieses Befehls ist, dass der Parameter "d" immer gleich 1 gesetzt wird, da sonst das Ergebnis nicht wieder im Register erscheint. Folglich bleibt dieses gleich und kann niemals den Wert Null erreichen. Mit Hilfe dieses Befehls kann recht komfortabel eine Schleife, ähnlich einer FOR-Schleife, aufgebaut werden, wie im folgenden Beispiel gezeigt wird.
- Beispiel
LOOP INCFSZ OPERAND,1 ; das Register OPERAND wird inkrementiert GOTO LOOP ; Sprung zum Schleifenbeginn, falls Operand gleich Null ; falls OPERAND = 0 wird hier fortgefahren