Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Rasenmaehroboter fuer schwierige und grosse Gaerten im Test

(Ausführliche Beschreibung zu den Befehlen)
(Ausführliche Beschreibung zu den Befehlen)
Zeile 93: Zeile 93:
  
 
Erklärungen zu den Verwendeten Platzhaltern:
 
Erklärungen zu den Verwendeten Platzhaltern:
*<tt>k</tt> stellt einen fest definierten Wert da. z.B. <tt>0x20</tt>, <tt>d'42'</tt> oder <tt>b'00101010'</tt>
+
*'''k''' stellt einen fest definierten Wert da. z.B. <tt>0x20</tt>, <tt>d'42'</tt> oder <tt>b'00101010'</tt>
*<tt>W</tt> steht für das W-Register.
+
*'''W''' steht für das W-Register.
*<tt>d</tt> 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
 
====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 f,d====
+
====SUBWF R,d====
Es wird die Rechenoperation <math>f-W</math> ausgeführt und entweder in das W-Register gespeichert (<math>d=w=0</math>) oder in f 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 (<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]]
  
 
===Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register===
 
===Überprüfung von Rechenergebnissen mit Hilfe des STATUS-Register===

Version vom 25. März 2007, 11:11 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

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

Ü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