Hier soll nach einiger Zeit eine vollständige Hilfe zu den PIC Assembler Befehlen entstehen.
Midrange Assembler Befehle
Kurzübersicht Assembler Befehle
ADDLW |
Add literal and W
|
ADDWF |
Add W and f
|
ANDLW |
AND literal with W
|
ANDWF |
AND W with f
|
BCF |
Bit Clear f
|
BSF |
Bit Set f
|
BTFSC |
Bit Test f, Skip if Clear
|
BTFSS |
Bit Test f, Skip if Set
|
CALL |
Call subroutine
|
CLRF |
Clear f
|
CLRW |
Clear W
|
CLRWDT |
Clear Watchdog Timer
|
COMF |
Complement f
|
DECF |
Decrement f
|
DECFSZ |
Decrement f, Skip if 0
|
GOTO |
Go to address
|
INCF |
Increment f
|
|
INCFSZ |
Increment f, Skip if 0
|
IORLW |
Inclusive OR literal with W
|
IORWF |
Inclusive OR W with f
|
MOVF |
Move f
|
MOVLW |
Move literal to W
|
MOVWF |
Move W to f
|
NOP |
No Operation
|
RETFIE |
Return from interrupt
|
RETLW |
Return with literal in W
|
RETURN |
Return from Subroutine
|
RLF |
Rotate Left f through Carry
|
RRF |
Rotate Right f through Carry
|
SLEEP |
Go into standby mode
|
SUBLW |
Subtract W from literal
|
SUBWF |
Subtract W from f
|
SWAPF |
Swap nibbles in f
|
XORLW |
Exclusive OR literal with W
|
XORWF |
Exclusive OR W with f
|
|
Kurzübersicht zum Ausdrucken
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
- 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 gespeichert ([math]d=w=0[/math]) oder in R gespeichert ([math]d=f=1[/math]). 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
Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register
Auswirkungen auf das STATUS-Register bei Subtraktionen
Ergebnis
|
STATUS,C
|
STATUS,Z
|
positiv
|
1
|
0
|
negativ
|
0
|
0
|
Null
|
1
|
1
|
|
Auswirkungen auf das STATUS-Register bei Addition
Ergebnis
|
STATUS,C
|
STATUS,Z
|
positiv
|
0
|
0
|
Überlauf
|
1
|
0
|
Null
|
1
|
1
|
|