- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 4 von 4

Thema: Compiler-Optimierung bei Register-Variablen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    > Versuch mal [...]

    Das ist dann gleichbeutend mit R6 = 0

    > 2. register ist und war immer nur eine Empfehlung an den Compiler.

    Nein, hier ist es keine "Empfehlung". Globale Register sind eine GNU-Erweiterung. Guckst du im GCC-Handbuch bei

    Extensions to the C Language Family -> Variables in Specified Registers ->Defining Global Register Variables

    Die Frage des OP bezüglich globaler Register wird hier beantwortet: http://www.mikrocontroller.net/topic/312598
    Disclaimer: none. Sue me.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2005
    Alter
    71
    Beiträge
    157
    ich glaube, ich habe jetzt eine akzeptable Lösung gefunden:

    register uint8_t Reg3 asm("r3");

    static inline __attribute__((always_inline)) void SetReg3(uint8_t tmp)
    { asm volatile ("mov r3, %0" : : "r" (tmp): "r3");}

    static inline __attribute__((always_inline)) uint8_t GetReg3(void)
    { uint8_t tmp; asm volatile ("mov %0, r3": "=r" (tmp)); return tmp;}

    wird kompiliert zu "mov r3, r24" und "mov r24, r3". Je nach Konstellation ersetzt der Compiler r24 durch ein anderes Register.

    Das Ganze ist (noch) nicht 100%-tig optimal, kommt der Anforderung aber schon sehr nahe. Hier hab ich noch einmal beschrieben.

    vg RdBaron

Ähnliche Themen

  1. gleiche register bei atmega32 und 16
    Von avrrobot im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 20.02.2011, 09:19
  2. Hilfe bei Optimierung von Ports setzen
    Von graffiti im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 06.07.2008, 21:25
  3. benötige Hilfe bei Register
    Von Hansi41 im Forum Asuro
    Antworten: 5
    Letzter Beitrag: 19.01.2008, 13:33
  4. 2 verschiedene Variablen greifen auf das selbe Register zu
    Von Hepta im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 10.09.2007, 15:39
  5. Gefahren bei schreiben ins Register TIMSK?
    Von fambi_mail im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 28.02.2006, 13:36

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress