PIC XC8 Variablen übergabe

OP #3341283
Lesenswert?

Hallo
Ich arbeite mich in wenig in PIC C ein.
MPLAP X v1.90
Ist es möglich eine Variable in Assembler
zu übergeben.

Ich bekomme den Fehler.

source\xyz.c:120: error: undefined symbol "TextDaten"


void OutDaten(unsigned char TextDaten) {


asm("movlw TextDaten");

#asm
    movlw TextDaten

#endasm
Gast #3341781
Lesenswert?

Chris B. schrieb:
> MPLABX..also geht es um den XC8 Compiler!?

Steht auch in der Überschrift.

Martin Michael schrieb:
> Ist es möglich eine Variable in Assembler
> zu übergeben.

Was soll der Mist bewirken? Wieso willst du das machen? Es gibt enorm 
wenige Anwendungen wo man sowas machen sollte. In 99,99999% aller Fälle 
ist es pfusch. Das macht dir alle Optimierungen des Compilers zu nichte, 
ist nicht zu debuggen und im Ernstfall zerschießt du dir (z.B. mit 
solchen Bank-Wechseln) dein ganzes Programm zu einem beliebigen 
Zeitpunkt nicht reprodzuierbar. Außerdem können die wenigsten 
Programmierer so effizient arbeiten wie ein C Compiler. Schon garnicht 
wenn sie nicht mit ASM groß geworden sind.
#3344432
Lesenswert?

Martin Michael schrieb:
> Mir ist schon klar das das auf Dauer keinen Sinn macht.

Das macht schon Sinn, aber nur wenn man ganze Funktionen in ASM schreibt 
(z.B. Zeitverzögerungen, Zugriffe auf das interne EEPROM, extrem 
zeitkritisches Bit-Banging usw.). Diese Funktionen schreibt man aber 
nicht in eine C-Datei, sonder direkt in eine eigene ASM-Datei und bindet 
diese in das Projekt ein. Wie man das macht, ist alles im Handbuch des 
Compilers beschrieben.

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