Aus RN-Wissen.de
(→Ausführliche Beschreibung zu den Befehlen) |
(→Ausführliche Beschreibung zu den Befehlen) |
||
Zeile 99: | Zeile 99: | ||
*'''fett''' geschrieben Bedeutet, dass es ein Platzhalter ist und im Quellcode ersetzt werden muss | *'''fett''' geschrieben Bedeutet, dass es ein Platzhalter ist und im Quellcode ersetzt werden muss | ||
*<tt>Schreibmaschinenstil</tt> bedeutet, dass es so im Quellcode geschrieben werden kann. | *<tt>Schreibmaschinenstil</tt> bedeutet, dass es so im Quellcode geschrieben werden kann. | ||
+ | |||
+ | |||
; SUBLW k | ; 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|Ü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 | ||
− | :Es wird die Rechenoperation <math>R-W</math> ausgeführt und entweder in das W-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]] |
:Beispiel: | :Beispiel: | ||
Zeile 112: | Zeile 114: | ||
subwf Register1,f ;schreibt Register1(20)-W(10) in Register1 | subwf Register1,f ;schreibt Register1(20)-W(10) in Register1 | ||
</dd></dl><!-- zum einrücken da--> | </dd></dl><!-- zum einrücken da--> | ||
+ | |||
+ | ; 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: | ||
+ | <dl><dd><!-- zum einrücken da--> | ||
+ | 0011 | ||
+ | 1010 | ||
+ | ---- xor | ||
+ | 1001 | ||
+ | </dd></dl><!-- zum einrücken da--> | ||
+ | |||
+ | ; XORWF R,d | ||
+ | :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 | ||
==Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register== | ==Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register== |
Version vom 25. März 2007, 12:58 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
- 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
|
|