-         

Ergebnis 1 bis 6 von 6

Thema: AVR-GCC-Assembler pseudo opcodes

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607

    AVR-GCC-Assembler pseudo opcodes

    Anzeige

    Hallo Leute,
    ich programmiere gerade eine ASM-Funktion und mochte sie in mein GCC-Projekt einbinden. Allerdings erkennt der gcc-Assembler die AVRASM-opcodes leider nicht...
    Kann man das irgendwie ändern?
    Kennt sonst jemand eine Seite, wo man die gcc-Assembler pseudo opcodes finden kann?

    Gruß, Yaro

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn man WINAVR nutz, sollte sich die Beschreibung etwa dort befinden:
    C:/WinAVR-20070525/doc/binutils/as.html/Pseudo-Ops.htm
    gg.f die Version anpassen.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607
    Danke sehr! Ich habe zwar inzwischen eine ähnliche seite im Internet gefunden, die war aber sehr mangelhaft.

    Gruß, Yaro

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Der GNU-Assembler kennt den kompletten Befehlssatz der AVR-Controller. Wo ist das Problem?
    Disclaimer: none. Sue me.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607
    Das problem ist z.B. wen man pseudo opcodes von avrasm benutzen möchte. z.B. ".DEF ausdruck = register" das geht bei GCC nicht.
    oder z.B. die Funktion "LOW(...)" dies heißt bei GCC "lo8(...)".
    gibt bestimmt noch andere Beispiele (bin aba noch nicht auf sie gestoßen)

    Gruß, Yaro

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Der GNU-Assembler ist /etwas/ älter als der Atmel-AVR-Assembler und die Direktiven heissen wie eh und je: .text, .section, .macro, .endm, .type, .size, ...

    Eine Assembler-Quelle unabhängig vom verwendeten Assembler zu halten sollte möglich sein, der Lesbarkeit der Quelle aber nicht unbedingt förderlich sein.

    Im GNU-Assembler kannst du den C-Präprozessor verwenden (im Atmel-Assembler übrigens auch) um textuelle Ersetzungen vorzunehmen.

    Des weiteren bietet der GNU-Assembler eine sehr mächtige Makro-Sprache per .macro, die weit über normalen, textuellen Ersatz hinausgeht.

    Du hast also die möglichkeit, per #define LOW() oder .macro LOW auf GNU-Syntax abzubilden.
    Disclaimer: none. Sue me.

Berechtigungen

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