Problem mit swapf

#737232
Lesenswert?
• ▲
▼
Bei den meisten Assembler-Sprachen ist der erste Parameter einer 
MOV-Anweisung das Ziel also
1
movf temp, portd
2
swapf temp
3
movf portd, temp

Was macht 'bsf'? Anstelle von temp muss der Name eines Registers 
eingetragen werden. Lies dich mal durch den Befehlssatz des Controllers 
durch - da steht eigentlich alles drin. Alternativ solltest du mal ein 
Tutorial durcharbeiten.

Ich kenne die PICs selbst gar nicht - die Frage sollte dir aber jeder 
PIC-Programmierer beantworten können.

Für einen einzelnen Befehl macht es meist keinen Sinn den 
Inline-Assembler zu bemühen. Der Overhead oft größer, als eine reine 
C-Implementation.
#737299
Lesenswert?
• ▲
▼
Der Befehl swapf braucht insgesamt 2 Parameter denn nach der Quelle ( 
hier portd bzw. temp) muss noch das Ziel benannt werden.

Da käme in Frage: 1, d.h. Ziel ist gleich Quelle oder 0 dann wird das 
Ergebnis in das wreg geschrieben.

Für den o.g. Fall wäre also richtig

swapf portd,1

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.