Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Rasenmaehroboter Test

(Ausführliche Beschreibung zu den Befehlen)
Zeile 97: Zeile 97:
 
*'''d''' steht für ''destination''. Im code wird d durch ein <tt>w</tt> (der Wert wird in das W-Register gespeichert ) oder <tt>f</tt> (der Wert wird in das  davor definierte Register gespeichert)
 
*'''d''' steht für ''destination''. Im code wird d durch ein <tt>w</tt> (der Wert wird in das W-Register gespeichert ) oder <tt>f</tt> (der Wert wird in das  davor definierte Register gespeichert)
 
*'''R''' steht für ein Register
 
*'''R''' steht für ein Register
 
+
*'''fett''' geschrieben Bedeutet, dass es ein Platzhalter ist
 +
*<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 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|Ü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 gespeichert ('''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:

Version vom 25. März 2007, 12:41 Uhr

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
  • fett geschrieben Bedeutet, dass es ein Platzhalter ist
  • 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 gespeichert (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

Ü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

LiFePO4 Speicher Test