Hallo! Ich hab hier ein kleines Problem mit den Befehlen ser/clr des AVR im Zusammenhang mit den Registern r0 - r15. Der Befehl clr funktioniert in diesen Registern wunderbar. Verwende ich aber den Befehl ser, meldet mir der Assembler (der AVR-Assembler des Studios) den Fehler "Illegal Argument type or count". Ist das jetzt ein Bug des Assemblers oder hab ich im Datenblatt was überlesen? In der Liste der Befehle, die mit diesen Registern nicht funktionieren, tauchen jedenfalls ser und clr nicht auf. Ach so: Ich programmiere den 2313. Gruß, René
Offensichtlich hast Du da was überlesen. Im "Instuction Set" steht nämlich bei ser, daß diese Anweisung nur bei r16 bis r31 funktioniert.
Aha, danke. Also lügt das Datenblatt. Dort steht halt: The general SBC, SUB, CP, AND, OR and all other operations between two registers or on a single register apply to the entire register file. Was ist das überhaupt, das 'Instruction Set'? Eine Befehlsreferenz? Wo bekomm ich das her? Das Einzige, das ich hier habe, ist das Datenblatt. Und dort stehen solche Infos zu den Befehlen nicht.
unter: http://www.atmel.com/atmel/products/prod200.htm findest Du ganz oben das .pdf-File "AVR Instruction Set" (149 Seiten). Dort sind alle Befehle sehr genau beschrieben. Allerdings steht dort nicht, auf welchen AVRs sie verfügbar sind (z.B. bei mul). Das mußt Du im jeweiligen Datenblatt nachschlagen.
Oha. Auf dieser Seite war ich bestimmt schon tausend mal, aber gleich das erste Dokument habe ich immer übersehen und mich mit dem Instruction Set Summary des Datenblatts zufrieden gegeben. Das wird noch sehr hilfreich werden. Vielen Dank!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.