MPLAB Assembler Label Namen

Gast #4279211
Hallo,
ich bin gerade dabei eine etwas größeres Projekt mit dem PIC16F887 zu 
verwirklichen.
Ich mache mir gerade aber Gedanken darüber, wie ich den Assembler Code 
möglichst übersichtlich und sauber halte.
Ein Problem dabei was ich habe sind die Label Namen.
Ich kann jedes ja nur einmal verwenden und irgendwann gehen einem die 
kurzen Namen aus.
Insbesondere wenn ich nur in einer Routine temporäre Labels brauche.
Gibt es da eine Möglichkeit "lokale" Labels zu definieren, die nur in 
der definierten Routine gültig sind und ich diese so auch in anderen 
Routinen nochmal verwenden kann ?
Gast #4279243
Ja, es kommt aber an manchen stellen bei mir fasst auf jeden Takt an und 
der Free xc8 ist in Sachen Optimierung überhaupt nicht gut.
Ich habe halt keine Kontrolle mehr wievielt Takte jetzt ein bestimmter 
Befehl braucht.
#4279297
Servus,

lokale Programm-Labels sind mir bei MPASM (außer ggf. in Makros) nicht 
bekannt.

Zur Übersichtlichkeit trägt aber auch bei, möglichst aussagekräftige 
Namen zu verwenden, und die tendieren naturgemäß dazu, nicht mehr ganz 
so kurz zu sein.
Klar, daß so simple Namen wie "loop", die oft als lokale Labels nützlich 
wären, schnell "verbaucht" sind. Solche "lokalen" Labels könnte man z.B. 
durch Benutzung einer an die Hauptfunktion angelehnten Bezeichnung mit 
einer Erweiterung erstellen. Im einfachsten Fall ist das ein simpler 
Index (..._1, ..._2) , oder auch etwas sinnvolleres (..._lp1, ..._next)
Da die "lokalen" Labels ja nur im unmittelbaren Umfeld interessant sind, 
dürfen die auch etwas kryptischer ausfallen.

z.B.:
ProgrammMachtDas
   <code>
pmd_lp
   <code>
pmd_next
   <code>
pmd_exit
   return

"Ausgegangen" sind mir die Zeichenkombinationen jedenfalls noch nie...
Gast #4279460
Ich kann Thomas nur zustimmen!
Labels verbrauchen keinen Speicherplatz und brauchen daher nicht 
besonders kurz oder kryptisch zu sein.

LED2_ON  steht z.B. für bsf PORTB,RB0
DCF_Stunde ist verständlicher als DCF_hh
LED2_OFF ist beser zu lesen als led2off oder LedOff

mfg GroberKlotz

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.