@ PicNick,

hab' ich's doch geahnt...
Ich schreibe mein Assembler komplett OHNE Assembler-Block-Directive, das geht wunderbar und ist auch AUSDRÜCKLICH erlaubt! Bis auf die Ausnahme von einigen Befehlen die Bascom als "seine" fehlinterpretieren würde. Ist auch logisch da der Compiler strikt Zeile für Zeile in wunderbaren AVR-Code übersetzt und wenn da schon schicker AVR-Code steht (ohne Directive), umso besser. Syntax-Check und Register-Plausibilitätschecks (z.B. Erkennen von fehlerhaftem ldi r12,255) läuft auch, also ein zusätzliches Zeichen für korrekte Funktion des Compilers.

Verstehe ich Dich da richtig: wenn ich KEINE SUBs und KEINE FUNCTIONs in meinem Programm verwende, dann stehen mir die r28, r29 zur Verfügung? Hintergrund: ich hatte festgestellt, das diese Register von Bascom nicht genutzt werden, allerdings nutze ich widerum keine Sub/Function.

Weiterhin teile ich nicht ganz Deine Meinung was Bascom und die Kontrolle über die "Maschine" angeht. Denn Bascom ist zunächst ein PC-basiertes Übersetzungsprogramm, welches Textfiles in HEX-Code (od. Binär-Code, je nach Betrachtung) nach festem Muster übersetzt. Zum Zeitpunkt des Compilierens hat Bascom lediglich die Kontrolle ÜBER DEINEN PC, aber nicht über einen µC. Sowie der fertige Code den PC verläßt und die "Maschine" erreicht, hat Bascom Feierabend und damit nüscht mehr zu tun. Schließlich (oder zum Glück) ist Bascom kein INTERPRETER. Also solltest DU eigentlich die Kontrolle über die Maschine haben und behalten! Grundlage wäre eine strikte Beschränkung von Bascom auf interne Register. Vor 20 Jahren gab es auch leistungsfähige Compiler welche mit 3 (!) Registern ausgekommen sind. Es fällt mir ziemlich schwer zu verstehen, das Bascom mit 32 Registern scheinbar "gerademal so hinkommt".

Ich bin auf Bascom gestoßen da ausdrücklich ein InLine-Assembler mit angeboten wird. Dazu ist es unabdingbar wenigstens ein paar Reg. dem User zur Verfügung zu stellen, welche also Nie und Nimmer von Bascom genutzt werden. Welchen Sinn würde die Assembler-Progr. wohl machen, wenn ich keine Reg. nutzen kann? Als BASCOM-Entwickler kann ich ungefähr abschätzen, welche Anforderungen/Bedürfnisse seitens der (mehr od. weniger prof. Anwender) besteht. Dies ist nicht zuviel verlangt. Also geben die Entwickler diese Reg. bekannt und halten sich an diese Vorgabe. Wo ist denn nun die Schwierigkeit statt 32 Reg. zu verschwenden sich auf 20 zu beschränken? Leider habe ich bislang nirgendwo einen solchen Hinweis gefunden. Natürlich kann ich um das Problem herumarbeiten. Ist aber nicht der Sinn von Software-Engeneering und entspricht überhaupt nicht der RISC-Philosophie.

Seit 20 Jahren bin ich mit einem Ing.-Büro gewerblich tätig und mache leistungsorientierte Auftragsentwicklungen, z.B. für AUDI, Deutsche Bank, Deutsche Bahn, Schering, um einige zu nennen. Ich bekomme nur mein Geld, wenn die abgelieferte Arbeit - welche auf Auftraggeberseite von einigen Dipl.-Ing's gegengeprüft und auseinandergenommen wird - zu 100% läuft. Sonst keine Kohle. Und da ich das seit 20 Jahren so mache, damit meine Taler verdiene und noch nicht Pleite bin, kann ich sagen: ich bin Profi. Sicher wird PicNick mehr Erfahrung auf AVRs haben, da ich Atmel erst seit ca. 4 Wochen programmiere. Sogesehen bin ich Anfänger, klar.
Allerdings habe ich mir mehr erhofft von diesem Compiler und es ist wohl so, das er eben nur 79,-EUR kostet und nicht 7.900,-EUR. Daher ist auch nicht mehr zu erwarten.

Ich habe gestern übrigens die Voll-Version bestellt - bin also guter Dinge. Also schau'n wir mal...
mega128