zum Directory-modus

PIC-Programmierung

Befehl SUBWF

Subtrahiere W von Register
Tab. 1
SUBWF: subtrahiere W von f
Syntax: SUBWF f,d
Operanden: 0 ≤ f ≤ 127 d = [0,1]
Operation:(f) - (W) → (destination)
Zyklen:1
Wörter:1
Beeinflusste Flags:Cary, Hilfs-Carry, Zero
Code:00 0010 dfff ffff

Dieser Befehl bewirkt eine Subtraktion des W-Register vom Inhalt des angegebenen Registers. Das Ergebnis dieser Operation steht daraufhin entweder im W-Register (bei d=0) oder im angeprochenen Register (d=1). Die Subtraktion erfolgt dabei nach der Methode des Zweierkomplements, was aber für die Rechnung an sich unwichtig ist. Wichtiger ist das Verhalten des Carry- und des Hilfs-Carry-Flags. Das Carry-Flag wird nur dann gelöscht, wenn bei der Rechnung ein Unterlauf, also eine Zahl kleiner 0 entstand. Das Hilfs-Carry wird bei einem Unterlauf von Bit 4 nach Bit 3 gelöscht. Ansonsten werden beide Flags gesetzt.

Das Zero-Flag wird wie üblich nur dann gesetzt, wenn das Ergebnis der Operation Null war.

Beispiel

   ; z.B. OPERAND = 0x03, W = 0x0E  
   
   SUBWF OPERAND,0 
   
   ; OPERAND = 0x03, W = 0xF4, Ergebnis im W-Register
    
Seite 32 von 36