Inline Assembler

Gast #432826
Lesenswert?
• ▲
▼
asm volatile ("ldi R30,low(Sprungtabelle)"::);
asm volatile ("ldi R31,high(Sprungtabelle)"::);

Fehlermelung: C:\...\ccQVaaaa.s:1673: Error: garbage at end of line

ich habe dies alles in Assembler programmiert und compaliert, da 
funktioniert das ohne Probleme, jetzt wollt ich den Code in C 
transportieren und dann krieg ich diese Fehlermeldung... Was mach ich 
falsch?

kann ich aus C auf ne Assemlberfunktion zugreifen?!
Gast #432838
Lesenswert?
• ▲
▼
Hallo

Garbage at end of line heisst es so praktisch immer, wenn einfach etwas 
nicht funktioniert.

Konkret vermute ich mal, dass deine Funktionen low(...) und high(...) 
nicht funktionieren. Versuche es mal mit lo8(...) und hi8(...).

Gruss

Michael
Gast #432851
Lesenswert?
• ▲
▼
Hallo, zu früh gefreut...
ich wollte den Zeiger Z R30 (low) R31 (high)
auf das Label Sprungtabelle zeigen lassen, wenn ich
asm volatile ("ldi R30,lo8(Sprungtabelle)"::);
asm volatile ("ldi R31,hi8(Sprungtabelle)"::);

ausführe, dann zeigt der Pointer irgendwo hin, aber nicht auf die 
Sprungtabelle :-(

ich hab das mit
ldi R30,low(Sprungtabelle)
ldi R31,high(Sprungtabelle)

in Assembler probiert und da funktioniert die Zuweisung

hat wer noch ein tipp für mich?
Gast #432859
Lesenswert?
• ▲
▼
Wo genau ist denn "irgendwo"? Wenn da ein Faktor 2 falsch ist, dann ist 
das wieder die alte Geschichte, daß die Adresse in 16-Bit-Worten 
angegeben wurde, im Z-Register aber in Bytes stehen muß. Könnte es das 
sein?
Gast #432863
Lesenswert?
• ▲
▼
@ Mciahel Wilhelm: der Assembler-Code sind etwa 600 Zeilen, aber diese 
beiden Funktionieren nicht
@ Philipp:
also er sollte auf 0x057A zeigen
aber zeigt auf 0x0AF4

da ist der Faktor 2 dazwischen...

Antwort schreiben

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.

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.