Hallo, ich bin was AVRs angeht Neuling. Habe mir etwas Hardware aufgebaut, in AVR-Studio ein Assembler Testprogramm geschrieben. Hab den µC mittels ISP-Adapter programmiert. Das klappte dank der guten Anleitung auf dieser Seite auch auf Anhieb. Nun will ich aber nicht mit Assembler programmieren. Hab mir auch schon AVR-GCC installiert. Hab auch die Beispiele auf dieser Seite betrachtet, kapier ich auch was da gemeint ist, doch die AVR-GCC spezifischen Befehle sind mir neu (muß ja so sein). Für Assembler gibts für solche Zwecke auf der atmel Seite ein tolles Instruction Set. Gibt es irgendwo ein Instruction Set auch für AVR-GCC, eventuell sogar in deutsch???? Wäre toll, denn Befehle raten, naja PS: Tolle Seite!!!
:
Gesperrt durch User
Hallo, auf der Linksseite gibt eine eigene Kategorie für AVR-GCC, da solltest du finden was du suchst! MfG Andreas
Hallo zusammen, wollte nicht noch ein Tread zur Instruction Set (Befehlsbeschreibung) der Atmel AVR-RISC Mikrocontroller aufmachen. Also, nach der Befehlsfolge LDI r16,$7F SUBI r16,-$01 wird ja das MSB (Most Signed Bit) gesetzt und unter anderem auch das Carry-Flag. Nun steht zum Befehl SUBI => Subtract Immediate (Rd <= Rd - K) als Ausdruck zum Carry-Flag : C: (/Rd7 und K7) oder (K7 und R7) oder (R7 und /Rd7) R (Result) equals Rd after the operation. Nun frage ich : " Welchen Wert soll ich für Rd einsetzen, wenn doch R = Rd ist " ? Ist Rd = #$FF bzw. #$-01 oder #$80 ? Ist die Konstante (K) #$7F oder #$FF bzw. #$-01 ? Bis dann Bernd_Stein
Bernd_Stein schrieb: > Hallo zusammen, > > wollte nicht noch ein Tread zur Instruction Set (Befehlsbeschreibung) > der Atmel AVR-RISC Mikrocontroller aufmachen. Hättest du aber tun sollen. Deine Frage hat nicht das geringste mit der Fragestellung dieses fast 9 Jahre(!) alten Threads zu tun. Ich hab schon viele alte Threads aufgewärmt gesehen, aber das hier dürfte neuer Rekord sein
Bernd_Stein schrieb: > " Welchen Wert soll ich für Rd einsetzen, wenn doch R = Rd ist " ? Das d in Rd steht für die Nummer des Registers Bei dir also 16 Wenn in der Beschreibung von Rd die Rede ist, dann ist das bei dir im speziellen Fall, bei einem SUBI R16, $-1 das Register R16 Das R (Result) equals Rd after the operation. bezieht sich auf das hier C: (/Rd7 und K7) oder (K7 und R7) oder (R7 und /Rd7) Rd7 bedeutet das 7.te Bit von der Originalzahl R7 bedeutet das 7.te Bit vom Ergebnis Die Unterscheidung ist notwendig, weil das Ergebnis der Subtraktion wieder in Rd (bei dir also in R16) abgelegt wird und man eine Möglichkeit braucht zwischen den ursprünglichen Bits und den Ergebnisbits in der Beschreibung zu unterscheiden > Ist die Konstante (K) #$7F oder #$FF bzw. #$-01 ? Was hast du hingeschrieben? 7F kanns schon mal nicht sein Und FF und -1 haben dasselbe Bitmuster. Such dir aus, ob du es als FF oder -1 lesen willst.