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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren