Aus RN-Wissen.de
(→Ausführliche Beschreibung zu den Befehlen) |
(→Ausführliche Beschreibung zu den Befehlen) |
||
Zeile 101: | Zeile 101: | ||
− | ; SUBLW k | + | ; SUBLW k <hr> |
:Es wird die Rechenoperation <math>k-W</math> ausgeführt und in das W-Register gespeichert. Dieser Befehl beeinflusst das STATUS-Register. Siehe hierzu [[#Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register|Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register]] | :Es wird die Rechenoperation <math>k-W</math> ausgeführt und in das W-Register gespeichert. Dieser Befehl beeinflusst das STATUS-Register. Siehe hierzu [[#Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register|Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register]] | ||
− | ; SUBWF R,d | + | ; SUBWF R,d <hr> |
:Es wird die Rechenoperation <math>R-W</math> ausgeführt und entweder in das W-Register ('''d'''=<tt>W</tt>=<tt>0</tt>) oder in R gespeichert ('''d'''=<tt>F</tt>=<tt>1</tt>). Dieser Befehl beeinflusst das STATUS-Register. Siehe hierzu [[#Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register|Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register]] | :Es wird die Rechenoperation <math>R-W</math> ausgeführt und entweder in das W-Register ('''d'''=<tt>W</tt>=<tt>0</tt>) oder in R gespeichert ('''d'''=<tt>F</tt>=<tt>1</tt>). Dieser Befehl beeinflusst das STATUS-Register. Siehe hierzu [[#Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register|Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register]] | ||
Zeile 115: | Zeile 115: | ||
</dd></dl><!-- zum einrücken da--> | </dd></dl><!-- zum einrücken da--> | ||
− | ;SWAPF R,d | + | ;SWAPF R,d <hr> |
:Es es werden die ersten 4 bit mit den letzten 4 bit vertauscht und entweder in das W-Register ('''d'''=<tt>W</tt>=<tt>0</tt>) oder in R gespeichert ('''d'''=<tt>F</tt>=<tt>1</tt>). | :Es es werden die ersten 4 bit mit den letzten 4 bit vertauscht und entweder in das W-Register ('''d'''=<tt>W</tt>=<tt>0</tt>) oder in R gespeichert ('''d'''=<tt>F</tt>=<tt>1</tt>). | ||
:Beispiel: | :Beispiel: | ||
Zeile 126: | Zeile 126: | ||
</dd></dl><!-- zum einrücken da--> | </dd></dl><!-- zum einrücken da--> | ||
− | ; XORLW k | + | ; XORLW k<hr> |
:Es wird die Rechenoperation <math>W\ xor\ k</math> ausgeführt und in das W-Register gespeichert. Dieser Befehl setzt das Z bit des STATUS-Register, falls das Ergebnis 0 ist. | :Es wird die Rechenoperation <math>W\ xor\ k</math> ausgeführt und in das W-Register gespeichert. Dieser Befehl setzt das Z bit des STATUS-Register, falls das Ergebnis 0 ist. | ||
:Zur Verdeutlichung der Rechenoperation: | :Zur Verdeutlichung der Rechenoperation: | ||
Zeile 136: | Zeile 136: | ||
</dd></dl><!-- zum einrücken da--> | </dd></dl><!-- zum einrücken da--> | ||
− | ; XORWF R,d | + | ; XORWF R,d <hr> |
:Es wird die Rechenoperation <math>W\ xor\ R</math> ausgeführt und entweder in das W-Register ('''d'''=<tt>W</tt>=<tt>0</tt>) oder in R gespeichert ('''d'''=<tt>F</tt>=<tt>1</tt>). Vergleiche XORLW | :Es wird die Rechenoperation <math>W\ xor\ R</math> ausgeführt und entweder in das W-Register ('''d'''=<tt>W</tt>=<tt>0</tt>) oder in R gespeichert ('''d'''=<tt>F</tt>=<tt>1</tt>). Vergleiche XORLW | ||
Version vom 25. März 2007, 13:31 Uhr
Hier soll nach einiger Zeit eine vollständige Hilfe zu den PIC Assembler Befehlen entstehen.
Inhaltsverzeichnis
Midrange
Kurzübersicht Assembler Befehle
|
|
Ausführliche Beschreibung zu den Befehlen
Erklärungen zu den Verwendeten Platzhaltern:
- k stellt einen fest definierten Wert da. z.B. 0x20, d'42' oder b'00101010'
- W steht für das W-Register.
- d steht für destination. Im code wird d durch ein w (der Wert wird in das W-Register gespeichert ) oder f (der Wert wird in das davor definierte Register gespeichert)
- R steht für ein Register
- fett geschrieben Bedeutet, dass es ein Platzhalter ist und im Quellcode ersetzt werden muss
- Schreibmaschinenstil bedeutet, dass es so im Quellcode geschrieben werden kann.
- SUBLW k
- Es wird die Rechenoperation [math]k-W[/math] ausgeführt und in das W-Register gespeichert. Dieser Befehl beeinflusst das STATUS-Register. Siehe hierzu Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register
- SUBWF R,d
- Es wird die Rechenoperation [math]R-W[/math] ausgeführt und entweder in das W-Register (d=W=0) oder in R gespeichert (d=F=1). Dieser Befehl beeinflusst das STATUS-Register. Siehe hierzu Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register
- Beispiel:
- movlw d'20' ;schreibe 20 in das W-Register movwf Register1 ;bewegt das W-Register in das Register1 movlw d'10' ;schreibt 10 in das W-Register SUBWF Register1,F ;schreibt Register1(20)-W(10) in Register1
- SWAPF R,d
- Es es werden die ersten 4 bit mit den letzten 4 bit vertauscht und entweder in das W-Register (d=W=0) oder in R gespeichert (d=F=1).
- Beispiel:
- movlw b'00001111' ;schreibe b'00001111' in das W-Register movwf Register1 ;bewegt das W-Register in das Register1 SWAPF Register1,W ;vertauscht die ersten 4 bit mit den letzen ;4 bit in Register 1 und schreibt es in das W-Register ;im W-Register steht nun b'11110000'
- XORLW k
- Es wird die Rechenoperation [math]W\ xor\ k[/math] ausgeführt und in das W-Register gespeichert. Dieser Befehl setzt das Z bit des STATUS-Register, falls das Ergebnis 0 ist.
- Zur Verdeutlichung der Rechenoperation:
- 0011 1010 ---- xor 1001
- XORWF R,d
- Es wird die Rechenoperation [math]W\ xor\ R[/math] ausgeführt und entweder in das W-Register (d=W=0) oder in R gespeichert (d=F=1). Vergleiche XORLW
Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register
|
|