www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bascom austricksen


Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

gibt es eine Möglichkeit den Bascom Compiler zu veranlassen
z.B. die Register R16 R17 R18 und R19 beim compilieren
nicht zu benutzen.

Gruss Gerhard

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
glaube ich nicht.
Warum willst du das haben?

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

berechtigte Frage.
Hab mir in letzter Zeit einen etwas eigenartigen Programmierstil
angewöhnt.
Schreibe meine Programme erstmal in Bascom.
Das geht recht flott und man hat schnell mal ein lauffähiges
"Grundgerüst".
Sind nun zeitkritische Sachen drinn so hab ich die dann
immer auf ASM Code innerhalb Bascom umgeschrieben.
D.h. im AVR Studio den Disassembler benutzt und mal
geschaut was Bascom so mit dem Code macht.
Soweit so gut. Nun bin ich jedoch an die Grenzen gestoßen.
Jetzt wäre es natürlich hilfreich ein paar unbenutzte Register zu
haben.

Gruss Gerhard

Autor: Florian Pfanner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du die Register nicht im Stack oder im RAM zwischenspeichern? -
Der Compiler macht das doch auch.

Gruß, Florian

Autor: guenter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerhard

AVR-Studio - Dissassembler ???

Wie finde ich den ??

Ich verwende derzeit noch Vers. 3.56


Danke im Voraus


Günter

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

@ Guenter , das geht mit AVR Studi 4.00

@ Florian , die Register werden in der Interruptroutine verändert
da kommt dann bei einer Long-Variablen schon eine Menge (unnötiger)
Code zusammen. Wenns richtig flott sein soll , möchte ich das eben
vermeiden.

Encoder_0:
push r16
push r17
push r18
push r19
push r26
LDI     R26,$0060
LD      R16,X+
LD      R17,X+
LD      R18,X+
LD      R19,X
'hier wird was an den Registern gemacht
ST  X,R19
ST  -X,R18
ST  -X,R17
ST  -X,R16
pop r26
pop r19
pop r18
pop r17
pop r16

Gruss Gerhard

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.