AVR-Studio 4.11 Build401

Gast #156319
Lesenswert?

.macro timer_lower
  ldi timer_max,@1
  ldi lower_on, @2
  .if @0==0
    rcall timer_update_inc
  .else
    rcall timer_update
  .endif
.endmacro

.macro timer_mid
  ldi timer_max,@1    ; hier entstehen u.g. der Fehler
  ldi lower_on, @2
  .if @0==0
    rcall timer_mid_inc
  .else
    rcall timer_mid
  .endif
.endmacro

2 einfache Macros

A15:  timer_lower 1, 150, 10
  timer_mid 1, 20, 30
  timer_mid 0, 60, 70

so aufgerufen. Hat immer funktioniert (mit 4.08), gestern hatte ich mir
V4.11 installiert und wollte ein paar kleine Änderungen an einem altem
Programm (AT90S1200 :-) machen, nichts geht, ich bin echt am
verzweifeln. Sieht einer mehr als ich? Spasseshalber habe ich sie mal
verschoben, also macro timer_mid vor timer_lower, ändert nichts, der
Fehler bleibt bei timer_mid.

107_amrum_kl.asm(79): error: Missing macro argument: @1
107_amrum_kl.asm(79): error: syntax error, unexpected '\n'
Gast #156321
Lesenswert?

tja, manchmal hilft ein kleines Bierchen ja doch :-)
das Problem lag daran, dass es sowohl ein macro timer_mid als auch ein
UP timer_mid gab. Die alten Assembler hat es nicht gestört (geschrieben
war es irgendwann mit 3.irgendwas), ich habs nicht mal gemerkt. Stellt
sich allenfalls die Frage, warum es plötzlich bekrittelt wird??
Na ja, AVR-studio wird wohl eine ewige Baustelle bleiben. Ich habe es
mir nur installiert, weil der Tiny2313 bei der 4.08er nur im ISP-Modus
gebrannt werden konnte (Reset-fuse lässt grüssen...), aber das geht
jetzt mit der neuen Version parallel.
Gast #156323
Lesenswert?

hast du es mal probiert mit Assembler V1? Eine Schattenoption, würde ich
sagen, zumindest funktioniert es bei mir nicht, stellt sich bei jedem
build auf V2 zurück...
Aber ich will nicht weiter rumsabbern, habs ja irgendwie selbst
verschludert. Und für 0Euro Programmkosten gibts ja eigentlich sowieso
nichts zu meckern.
Gast #156324
Lesenswert?

Hi,

ich habe das Problem, daß der 4.11 den Befehl "movw" wohl nicht mehr
will. Hat das auch von Euch schon jemand beobachtet? Mit 4.08 ging's,
mit 4.11 nicht mehr. Jetzt nehme ich halt 2x mov, naja...

Sebastian
Gast #156325
Lesenswert?

@crazy horse
habe ich, kann man für jedes Projekt definitiv einstellen ob 1.xx oder
2.xx. Auch die Default Voreinstellung läßt sich konfigurieren
zumindest
in der aktuellen Version von AVR Studio 4.11.406 Service Pack 2
Und mittlerweile ist der AVR ASM 2.xx doch ein erheblicher Fortschritt
in die richtige Richtung und über den Atmel Support kann man wirklich
nicht meckern. Bei vollständigen dokumentierten Fehlern wird dort
umgehend nach einem Lösungsweg gesucht bzw. ein Workaround angeboten.
Gast #156326
Lesenswert?

@Sebastian
movw funktioniert bei entsprechendem Controller nach wie vor. Bitte auf
die Unterschiede zwischen ASM Version 1.x und 2.x achten. Die neue
Version 2.x ist default hat aber stark erweiterte include files zur
Prozessor-Deklaration. Hier wird unter anderem durch #pragma Direktiven
der unterstützte Befehlssatz festgelegt. Bei der 1.xx reichte hierzu die
.device Direktive allein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren